이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 8 장 데이터 토토 핫 사이트 순위버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

8 장 데이터 토토 핫

|Postgres.

Postgres풍부한 세트가 있습니다 사용자가 사용할 수있는 기본 데이터 토토 핫. 사용자는 새로운 토토 핫을 추가 할 수 있습니다Postgres사용토토 핫 정의다른 곳에 설명 된 명령.

데이터 토토 핫의 맥락에서 다음 섹션은 논의하다SQL표준 준수, 포팅 문제 및 사용. 일부Postgres토토 핫은 직접에 해당합니다.SQL92-호환 토토 핫. 다른 사례, 정의 된 데이터 토토 핫SQL92구문은 직접 기본으로 맵핑됩니다Postgres토토 핫. 많은 내장 토토 핫 명백한 외부 형식이 있습니다. 그러나 몇 가지 토토 핫도 있습니다 독특한Postgres, 예 : 오픈 닫힌 경로, 또는 형식에 대한 몇 가지 가능성이 있습니다. 날짜와 시간 토토 핫으로.

표 8-1.Postgres데이터 토토 핫

Postgrestype SQL92또는SQL3type 설명
bool 부울 논리 부울 (참/거짓)
Box 2d의 직사각형 상자 비행기
char (n) 캐릭터 (N) 고정 길이 문자 끈
CIDR IP 버전 4 네트워크 또는 호스트 주소
Circle 2D 평면의 원
날짜 날짜 시간이없는 캘린더 날짜 낮
float4/8 float (p) 부동 소수점 번호 정밀 P
float8 Real, Double Precision 이중 정제 부동 소수점 숫자
inet IP 버전 4 네트워크 또는 호스트 주소
int2 smallint 2 바이트 정수 서명
int4 int, integer 서명 4 바이트 정수
int4 소수점 (P, S) p <= 9, s에 대한 정확한 숫자 = 0
int4 숫자 (P, S) p == 9, s =에 대한 정확한 숫자 0
int8 서명 8 바이트 정수
line 2D 평면의 무한 선
lseg 2D 평면의 라인 세그먼트
Money 소수점 (9,2) US 스타일 통화
Path 열고 닫힌 기하학적 경로 2D 평면에서
포인트 2d의 기하학적 지점 비행기
Polygon 2D에서 닫힌 기하학적 경로 비행기
Serial 인덱싱을위한 고유 ID 교차 참조
Time Time 시간의 시간
Timespan 간격 일반 사용 시간 범위
타임 스탬프 시간대가있는 타임 스탬프 날짜/시간
varchar (n) 캐릭터 변동 (N) 가변 길이 문자 끈

참고 :theCIDRandinet토토 핫은 처리하도록 설계되었습니다 IP 토토 핫이지만 IPv4 만 현재 구현에서 처리됩니다. IPv4에 대해 이야기하는 모든 것은 IPv6에 적용됩니다. 미래 릴리스.

표 8-2.Postgres함수 상수

Postgres기능 SQL92Constant 설명
getpgusername () current_user 현재의 사용자 이름 세션
날짜 ( 'now') current_date 현재 날짜 거래
Time ( 'now') current_time 현재 시간 거래
타임 스탬프 ( 'now') current_timestamp 현재의 날짜 및 시간 거래

Postgres에 기능이 있습니다 의 최전선OrdBMS개발. ~ 안에 에 대한 추가SQL3적합성, 상당한 부분SQL92도 있습니다 지원. 우리는 노력하지만SQL92규정 준수, 몇 가지 측면이 있습니다 고려되지 않고 살아나서는 안되는 표준 후속 표준.Postgres이러한 기능을 준수하기 위해 큰 노력을 기울이지 않을 것입니다. 하지만, 이것들은 거의 사용하지 않거나 관찰 된 경우에 적용되는 경향이 있으며 전형적인 사용자가 그들에게 들어 가지 않을 가능성이 없습니다.

베이스에 해당하는 대부분의 입력 및 출력 기능 유형 (예 : 정수 및 부동 소수점 번호)은 일부를 수행합니다 오류 확인. 일부 연산자 및 기능 (예 : 추가 곱셈)에서 런타임 오류 확인을 수행하지 않습니다 실행 속도 향상의 관심사. 일부 시스템에서 예를 들어, 일부 데이터 토토 핫의 숫자 연산자는 조용히 언더 플로 또는 오버플로.

입력 및 출력 함수 중 일부는 뒤집을 수 없습니다. 즉, 출력 함수의 결과가 손실 될 수 있습니다. 원래 입력과 비교할 때 정밀도.

참고 :원래Postgresv4.2 버클리에서받은 코드 모든 이중 정밀 플로팅 포인트 결과를 6 자리 숫자로 반올림 출력. v6.1부터 시작하면 부동 소수점 수가 있습니다 유형의 고유 정밀도 대부분을 유지할 수 있습니다. (일반적으로 복식의 경우 15 자리, 4 바이트 플로트의 경우 6 자리). 기본 플로팅 포인트 필드가있는 기타 유형 (예 : 기하학적 유형) 비슷한 정밀도를 운반합니다.

숫자 토토 핫

숫자 토토 핫은 2 바이트 및 4 바이트 정수와 4 개로 구성됩니다. 및 8 바이트 부동 소수점 번호.

표 8-3.Postgres숫자 토토 핫

숫자 토토 핫 스토리지 설명 범위
float4 4 바이트 가변-프레시션 6 소수점 자리
float8 8 바이트 가변------프리션 15 소수점 자리
int2 2 바이트 고정------------프리션 -32768 ~ +32767
int4 4 바이트 일반적인 선택 고정----------------퍼지 -2147483648 ~ +2147483647
int8 8 바이트 매우 넓은 범위 고정----------------퍼지 +/- 18 자리 자리
Serial 4 바이트 식별자 또는 교차 참조 0 ~ +2147483647

숫자 토토 핫은 해당 산술 세트가 있습니다. 연산자 및 기능. 참조수치 연산자and수학적 기능자세한 내용은

theSerial타입은 특수 사례 토토 핫입니다 에 의해 건설Postgres다른 것 기존 구성 요소. 일반적으로 고유 한 것을 만드는 데 사용됩니다 테이블 항목에 대한 식별자. 현재 구현에서 지정

테이블 생성TableName(ColnameSerial);
지정과 동일합니다.
시퀀스 만들기TableName_Colname_Seq;
테이블 작성TableName(Colnameint4 default nextVal ( 'TableName_Colname_seq ');
고유 한 색인 생성TableName_Colname_key onTableName(Colname);
주의

Serialtype willnotbe 테이블이 떨어질 때 자동으로 제거되었습니다. 그래서, 순서대로 실행 된 명령은 실패 할 것입니다 :

테이블 생성TableName(ColnameSerial);
드롭 테이블TableName;
테이블 작성TableName(ColnameSerial);
시퀀스는 명시 적으로 데이터베이스에 남아 있습니다 삭제 사용드롭 시퀀스.

the정확한 숫자 Decimaland숫자완전히 구현 된 구문이지만 현재 (Postgresv6.4) 작은 범위 만 지원합니다 정밀 및/또는 범위 값. 그만큼int8의존하기 때문에 모든 플랫폼에서 유형을 사용할 수 없습니다. 이것에 대한 컴파일러 지원.