다음에서 사용할 수 있는 내장 데이터 토토 핫을 설명합니다.포스트그레.
포스트그레스풍부한 세트를 가지고 있습니다 사용자가 사용할 수 있는 기본 데이터 토토 핫입니다. 사용자는 다음에 새로운 토토 핫을 추가할 수 있습니다.포스트그레다음을 사용하여토토 핫 정의명령은 다른 곳에 설명되어 있습니다.
데이터 토토 핫의 맥락에서 다음 섹션은 토론하다SQL표준 준수, 포팅 문제 및 사용법. 일부포스트그레토토 핫은 다음과 직접 일치합니다.SQL92-호환 토토 핫. 다른 곳에서는 케이스, 다음으로 정의된 데이터 토토 핫SQL92구문은 네이티브에 직접 매핑됩니다.포스트그레토토 핫. 다양한 내장 토토 핫 명백한 외부 형식이 있습니다. 그러나 여러 토토 핫이 고유한포스트그레, 예: 개방형 닫힌 경로 또는 다음과 같은 형식에 대한 여러 가지 가능성이 있습니다. 날짜 및 시간 토토 핫으로.
표 8-1.포스트그레스데이터 토토 핫
| 포스트그레스토토 핫 | SQL92또는SQL3토토 핫 | 설명 |
|---|---|---|
| 부울 | 부울 | 논리적 부울 (참/거짓) |
| 상자 | 2D의 직사각형 상자 비행기 | |
| 문자(n) | 문자(n) | 고정 길이 문자 문자열 |
| cidr | IP 버전 4 네트워크 또는 호스트 주소 | |
| 원 | 2D 평면의 원 | |
| 날짜 | 날짜 | 시간이 없는 달력 날짜 일 |
| float4/8 | 부동(p) | 부동 소수점 수 정밀도 p |
| float8 | 실수, 배정밀도 | 배정밀도 부동 소수점 번호 |
| inet | IP 버전 4 네트워크 또는 호스트 주소 | |
| int2 | smallint | 부호 있는 2바이트 정수 |
| int4 | 정수, 정수 | 부호 있는 4바이트 정수 |
| int4 | 십진수(p,s) | p <= 9, s에 대한 정확한 숫자 = 0 |
| int4 | 숫자(p,s) | p == 9, s =의 정확한 숫자 0 |
| int8 | 부호 있는 8바이트 정수 | |
| 라인 | 2D 평면의 무한선 | |
| lseg | 2D 평면의 선분 | |
| 돈 | 십진수(9,2) | 미국식 통화 |
| 경로 | 열리고 닫힌 기하학적 경로 2D 평면에서 | |
| 점 | 2D의 기하학적 점 비행기 | |
| 다각형 | 2D에서 닫힌 기하학적 경로 비행기 | |
| 연재 | 인덱싱을 위한 고유 ID 및 상호 참조 | |
| 시간 | 시간 | 시간 |
| 기간 | 간격 | 일반 사용 기간 |
| 타임스탬프 | 시간대가 포함된 타임스탬프 | 날짜/시간 |
| varchar(n) | 문자 가변(n) | 가변 길이 문자 문자열 |
참고:그cidr그리고inet토토 핫은 모든 토토 핫을 처리하도록 설계되었습니다. IP 토토 핫이지만 현재 구현에서는 ipv4만 처리됩니다. 여기에서 ipv4에 관해 이야기하는 모든 내용은 ipv6에 적용됩니다. 향후 릴리스.
표 8-2.포스트그레스함수 상수
| 포스트그레스기능 | SQL92상수 | 설명 |
|---|---|---|
| getpgusername() | 현재_사용자 | 현재 사용자 이름 세션 |
| 날짜('지금') | 현재_날짜 | 현재 날짜 거래 |
| 시간('지금') | 현재_시간 | 현재 시간 거래 |
| 타임스탬프('지금') | 현재_타임스탬프 | 현재 날짜 및 시간 거래 |
포스트그레스다음에 기능이 있습니다. 의 최전선ORDBMS개발. 에서 게다가SQL3적합성, 상당한 부분SQL92또한 지원됩니다. 우리는 노력하지만SQL92규정 준수에는 몇 가지 측면이 있습니다. 잘못 고려되어 실행되어서는 안 되는 표준 후속 표준.포스트그레스이러한 기능을 따르기 위해 많은 노력을 기울이지 않을 것입니다. 그러나, 이는 거의 사용되지 않거나 모호한 경우에 적용되는 경향이 있으며 일반적인 사용자는 이러한 문제를 겪을 가능성이 없습니다.
기본에 해당하는 대부분의 입력 및 출력 기능 토토 핫(예: 정수 및 부동 소수점 숫자)은 일부 작업을 수행합니다. 오류 검사. 일부 연산자 및 함수(예: 추가 및 곱셈)에서는 런타임 오류 검사를 수행하지 않습니다. 실행 속도 향상에 관심이 있습니다. 일부 시스템에서는 예를 들어 일부 데이터 토토 핫의 숫자 연산자는 자동으로 언더플로 또는 오버플로.
일부 입력 및 출력 기능은 반전 가능. 즉, 출력 함수의 결과가 손실될 수 있습니다. 원래 입력과 비교할 때 정밀도입니다.
참고:원본포스트그레스버클리로부터 v4.2 코드 수신 모든 배정밀도 부동 소수점 결과를 6자리로 반올림했습니다. 출력용. v6.1부터 부동 소수점 숫자는 토토 핫의 본질적인 정밀도를 대부분 유지할 수 있습니다. (일반적으로 double의 경우 15자리, 4바이트 float의 경우 6자리) 기본 부동 소수점 필드가 있는 다른 토토 핫(예: 기하학 토토 핫)은 비슷한 정밀도를 갖습니다.
숫자 토토 핫은 2바이트 및 4바이트 정수와 4바이트 정수로 구성됩니다. 및 8바이트 부동 소수점 숫자입니다.
표 8-3.포스트그레스숫자 토토 핫
| 숫자 토토 핫 | 저장 | 설명 | 범위 |
|---|---|---|---|
| 플로트4 | 4바이트 | 가변 정밀도 | 소수점 6자리 |
| float8 | 8바이트 | 가변 정밀도 | 소수점 15자리 |
| int2 | 2바이트 | 고정 정밀도 | -32768 ~ +32767 |
| int4 | 4바이트 | 일반적인 선택 고정 정밀도 | -2147483648 ~ +2147483647 |
| int8 | 8바이트 | 매우 넓은 범위 고정 정밀도 | +/- 소수점 이하 18자리 |
| 연재 | 4바이트 | 식별자 또는 상호 참조 | 0 ~ +2147483647 |
숫자 토토 핫에는 해당 산술의 전체 세트가 있습니다. 연산자와 함수. 참조수치 연산자및수학적 기능자세한 내용은.
그연재토토 핫은 특수한 경우 토토 핫입니다. 에 의해 건설됨포스트그레다른 사람으로부터 기존 구성 요소. 일반적으로 고유한 항목을 만드는 데 사용됩니다. 테이블 항목의 식별자입니다. 현재 구현에서는 지정
테이블 생성테이블 이름 (열이름연재);다음을 지정하는 것과 동일합니다.
시퀀스 생성테이블 이름_열이름_seq;
테이블 만들기테이블 이름
(열이름INT4 DEFAULT nextval('테이블 이름_열이름_seq');
고유 인덱스 생성테이블 이름_열이름_키 켜짐테이블 이름 (열이름);
| 주의 |
|
다음을 위해 생성된 암시적 시퀀스연재토토 핫은 의지아님수 테이블이 삭제되면 자동으로 제거됩니다. 그래서, 순서대로 실행되는 다음 명령은 실패할 가능성이 높습니다. 테이블 생성테이블 이름 (열이름SERIAL); 드롭 테이블테이블 이름; 테이블 만들기테이블 이름 (열이름SERIAL);순서는 명시적으로 나타날 때까지 데이터베이스에 남아 있습니다. 다음을 사용하여 삭제됨드롭 순서. |
그정확한 숫자 십진수그리고숫자가지고 완전히 구현된 구문이지만 현재 (포스트그레스v6.4)는 작은 범위의 정밀도 및/또는 범위 값.int8토토 핫은 다음을 사용하므로 모든 플랫폼에서 사용 가능하지 않을 수 있습니다. 이에 대한 컴파일러 지원.