포스트그레SQL다음과 같이 IPv4, IPv6 및 MAC 롤 토토를 저장하는 데이터 유형을 제공합니다.표 8.21. 일반 텍스트 유형 대신 이러한 유형을 사용하여 네트워크 롤 토토를 저장하는 것이 더 좋습니다. 이러한 유형은 입력 오류 검사와 특수 연산자 및 기능을 제공하기 때문입니다(참조)윈 토토 PostgreSQL : 문서 : 16 : 9.12. 네트워크 주소 기능 및 운영자).
표 8.21. 네트워크 롤 토토 유형
| 이름 | 저장소 크기 | 설명 |
|---|---|---|
cidr |
7 또는 19바이트 | IPv4 및 IPv6 네트워크 |
inet |
7 또는 19바이트 | IPv4 및 IPv6 호스트 및 네트워크 |
macaddr |
6바이트 | MAC 롤 토토 |
macaddr8 |
8바이트 | MAC 롤 토토(EUI-64 형식) |
정렬할 때inet또는cidr데이터 유형, IPv4 롤 토토는 ::10.2.3.4 또는 ::ffff:10.4.3.2와 같이 IPv6 롤 토토에 캡슐화되거나 매핑된 IPv4 롤 토토를 포함하여 항상 IPv6 롤 토토보다 먼저 정렬됩니다.
inet #그inet유형은 IPv4 또는 IPv6 호스트 롤 토토와 선택적으로 해당 서브넷을 모두 하나의 필드에 포함합니다. 서브넷은 호스트 롤 토토(“넷마스크”). 넷마스크가 32이고 롤 토토가 IPv4인 경우 값은 서브넷을 나타내지 않고 단일 호스트만 나타냅니다. IPv6에서는 롤 토토 길이가 128비트이므로 128비트는 고유한 호스트 롤 토토를 지정합니다. 네트워크만 허용하려면 다음을 사용해야 합니다.cidr대신 입력inet.
이 유형의 입력 형식은 다음과 같습니다.롤 토토/y어디에서롤 토토은 IPv4 또는 IPv6 롤 토토이고y는 넷마스크의 비트 수입니다. 만약/y부분이 생략되면 넷마스크는 IPv4의 경우 32, IPv6의 경우 128로 간주되므로 값은 단일 호스트만 나타냅니다. 디스플레이에는/y넷마스크가 단일 호스트를 지정하는 경우 해당 부분이 억제됩니다.
cidr #그cidr유형은 IPv4 또는 IPv6 네트워크 사양을 보유합니다. 입력 및 출력 형식은 클래스 없는 인터넷 도메인 라우팅 규칙을 따릅니다. 네트워크를 지정하는 형식은 다음과 같습니다.롤 토토/y어디에서롤 토토은 IPv4 또는 IPv6 롤 토토로 표시되는 네트워크의 가장 낮은 롤 토토이며y은 넷마스크의 비트 수입니다. 만일y이 생략되면 이전 클래스형 네트워크 번호 지정 시스템의 가정을 사용하여 계산됩니다. 단, 입력에 기록된 모든 옥텟을 포함할 수 있을 만큼 충분히 크다는 점은 제외됩니다. 지정된 넷마스크 오른쪽에 비트가 설정된 네트워크 롤 토토를 지정하는 것은 오류입니다.
표 8.22몇 가지 예를 보여줍니다.
표 8.22. cidr입력 예
cidr입력 |
cidr출력 |
|
|---|---|---|
| 192.168.100.128/25 | 192.168.100.128/25 | 192.168.100.128/25 |
| 192.168/24 | 192.168.0.0/24 | 192.168.0/24 |
| 192.168/25 | 192.168.0.0/25 | 192.168.0.0/25 |
| 192.168.1 | 192.168.1.0/24 | 192.168.1/24 |
| 192.168 | 192.168.0.0/24 | 192.168.0/24 |
| 128.1 | 128.1.0.0/16 | 128.1/16 |
| 128 | 128.0.0.0/16 | 128.0/16 |
| 128.1.2 | 128.1.2.0/24 | 128.1.2/24 |
| 10.1.2 | 10.1.2.0/24 | 10.1.2/24 |
| 10.1 | 10.1.0.0/16 | 10.1/16 |
| 10 | 10.0.0.0/8 | 10/8 |
| 10.1.2.3/32 | 10.1.2.3/32 | 10.1.2.3/32 |
| 2001:4f8:3:ba::/64 | 2001:4f8:3:ba::/64 | 2001:4f8:3:ba/64 |
| 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 | 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 | 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 |
| ::ffff:1.2.3.0/120 | ::ffff:1.2.3.0/120 | ::ffff:1.2.3/120 |
| ::ffff:1.2.3.0/128 | ::ffff:1.2.3.0/128 | ::ffff:1.2.3.0/128 |
inet대cidr #사이의 본질적인 차이점inet및cidr데이터 유형은 다음과 같습니다inet넷마스크 오른쪽에 0이 아닌 비트가 있는 값을 허용하는 반면cidr그렇지 않습니다. 예를 들어,192.168.0.1/24유효한 대상은inet그러나 다음을 위해서는 아님cidr.
출력 형식이 마음에 들지 않는 경우inet또는cidr값, 함수를 사용해 보세요호스트, 텍스트및약어.
macaddr #그macaddr유형은 이더넷 카드 하드웨어 롤 토토 등을 통해 알려진 MAC 롤 토토를 저장합니다(MAC 롤 토토는 다른 목적으로도 사용됨). 입력은 다음 형식으로 허용됩니다.
'08:00:2b:01:02:03' |
'08-00-2b-01-02-03' |
'08002b:010203' |
'08002b-010203' |
'0800.2b01.0203' |
'0800-2b01-0203' |
'08002b010203' |
이 예제는 모두 동일한 롤 토토를 지정합니다. 숫자에는 대문자와 소문자를 사용할 수 있습니다.a통해f. 출력은 항상 표시된 형식 중 첫 번째 형식입니다.
IEEE 표준 802-2001은 표시된 두 번째 형식(하이픈 포함)을 MAC 롤 토토의 표준 형식으로 지정하고, 비트 역방향 MSB 우선 표기법과 함께 사용되는 첫 번째 형식(콜론 포함)을 지정하므로 08-00-2b-01-02-03 = 10:00:D4:80:40:C0입니다. 이 규칙은 현재 널리 무시되고 있으며 구식 네트워크 프로토콜(예: 토큰 링)에만 관련됩니다. PostgreSQL은 비트 반전을 제공하지 않습니다. 허용되는 모든 형식은 표준 LSB 순서를 사용합니다.
나머지 5개의 입력 형식은 어떤 표준에도 포함되어 있지 않습니다.
macaddr8 #그macaddr8유형은 이더넷 카드 하드웨어 롤 토토 등을 통해 알려진 EUI-64 형식으로 MAC 롤 토토를 저장합니다(MAC 롤 토토는 다른 목적으로도 사용됨). 이 유형은 6바이트 길이와 8바이트 길이의 MAC 롤 토토를 모두 허용하고 이를 8바이트 길이 형식으로 저장합니다. 6바이트 형식으로 주어진 MAC 롤 토토는 8바이트 길이 형식으로 저장되며 4번째 바이트와 5번째 바이트는 각각 FF와 FE로 설정됩니다. IPv6은 EUI-48에서 변환한 후 7번째 비트를 1로 설정해야 하는 수정된 EUI-64 형식을 사용합니다. 함수macaddr8_set7bit23955_24129':', '-'또는'.', 허용됩니다. 16진수 숫자는 16(8바이트) 또는 12(6바이트)여야 합니다. 선행 및 후행 공백은 무시됩니다. 다음은 허용되는 입력 형식의 예입니다.
'08:00:2b:01:02:03:04:05' |
'08-00-2b-01-02-03-04-05' |
'08002b:0102030405' |
'08002b-0102030405' |
'0800.2b01.0203.0405' |
'0800-2b01-0203-0405' |
'08002b01:02030405' |
'08002b0102030405' |
이 예제는 모두 동일한 롤 토토를 지정합니다. 숫자에는 대문자와 소문자를 사용할 수 있습니다.a통해f. 출력은 항상 표시된 형식 중 첫 번째 형식입니다.
위에 표시된 마지막 6개 입력 형식은 표준의 일부가 아닙니다.
EUI-48 형식의 기존 48비트 MAC 롤 토토를 수정된 EUI-64 형식으로 변환하여 IPv6 롤 토토의 호스트 부분으로 포함하려면 다음을 사용하세요.macaddr8_set7bit표시된 바와 같이:
SELECT macaddr8_set7bit('08:00:2b:01:02:03');macaddr8_set7bit
------------
0a:00:2b:ff:fe:01:02:03
(1행)
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.