Tài kèo bóng đá pháp này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá pháp phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Chương 8. Kiểu dữ kèo bóng đá pháp

Mô tả các loại dữ kèo bóng đá pháp tích hợp có sẵn trongPostgres.

Postgrescó một bộ phong phú Các loại dữ kèo bóng đá pháp bản địa có sẵn cho người dùng. Người dùng có thể thêm các loại mới vàoPostgresSử dụngXác định kèo bóng đá pháplệnh được mô tả ở nơi khác.

Trong bối cảnh của các loại dữ kèo bóng đá pháp, các phần sau đây sẽ bàn luậnSQLTuân thủ tiêu chuẩn, kèo bóng đá pháp vấn đề chuyển đổi, và sử dụng. Một sốPostgresCác kèo bóng đá pháp tương ứng vớiSQL926760_6819SQL92Cú kèo bóng đá pháp được ánh xạ trực tiếp vào bản địaPostgreskèo bóng đá pháp. Nhiều kèo bóng đá pháp tích hợp có các định dạng bên ngoài rõ ràng. Tuy nhiên, một số kèo bóng đá pháp là duy nhất choPostgres, chẳng hạn như mở và các đường dẫn đóng, hoặc có một số khả năng cho các định dạng, như vậy như các kèo bóng đá pháp ngày và thời gian.

Bảng 8-1.PostgresKiểu dữ kèo bóng đá pháp

Postgreskèo bóng đá pháp SQL92hoặcSQL3kèo bóng đá pháp Mô tả
bool Boolean Boolean logic (Đúng/Sai)
Box Hộp hình chữ nhật trong 2D máy bay
char (n) ký tự (n) ký tự có độ dài cố định sợi dây
CIDR Mạng hoặc máy chủ phiên bản IP 4 Địa chỉ
Circle vòng tròn trong mặt phẳng 2D
ngày ngày Ngày không có thời gian của ngày
float4/8 float (p) Số điểm nổi với Độ chính xác P
float8 Real, Double Precision Điểm nổi độ chính xác kép con số
inet Mạng hoặc máy chủ phiên bản IP 4 Địa chỉ
INT2 smallint Đã ký hai byte
INT4 int, Integer Đã ký 4 byte số nguyên
INT4 thập phân (p, s) Số chính xác cho p <= 9, s = 0
INT4 Số (P, S) Số chính xác cho p == 9, s = 0
INT8 Đã ký 8 byte số nguyên
Line dòng vô hạn trong mặt phẳng 2D
LSEG Phân đoạn dòng trong mặt phẳng 2D
tiền thập phân (9,2) Tiền tệ kiểu US
đường dẫn Đường dẫn hình học mở và đóng trong mặt phẳng 2D
điểm Điểm hình học trong 2D máy bay
Polygon Đường dẫn hình học đóng trong 2D máy bay
Nối tiếp ID duy nhất để lập chỉ mục và tham chiếu chéo
thời gian thời gian Thời gian trong ngày
TimesPan Khoảng Khoảng thời gian sử dụng chung
Dấu thời gian dấu thời gian với múi giờ ngày/giờ
Varchar (n) ký tự khác nhau (n) ký tự có độ dài biến sợi dây

Lưu ý:TheCIDRinetCác kèo bóng đá pháp được thiết kế để xử lý bất kỳ kèo bóng đá pháp IP nhưng chỉ IPv4 được xử lý trong triển khai hiện tại. Mọi thứ ở đây nói về IPv4 sẽ áp dụng cho IPv6 trong một Phát hành trong tương lai.

Bảng 8-2.PostgresHằng số hàm

Postgreschức năng SQL92hằng số Mô tả
getPguserName () current_user Tên người dùng trong hiện tại phiên họp
ngày ('bây giờ') current_date Ngày hiện tại giao dịch
thời gian ('bây giờ') current_time Thời gian hiện tại giao dịch
dấu thời gian ('bây giờ') current_timestamp Ngày và giờ hiện tại giao dịch

Postgrescó kèo bóng đá pháp tính năng tại Hàng đầu củaordbmsPhát triển. TRONG bổ sung vàoSQL3Sự phù hợp, kèo bóng đá pháp phần đáng kể củaSQL92cũng là được hỗ trợ. Mặc dù chúng tôi phấn đấu choSQL92Tuân thủ, có một số khía cạnh của tiêu chuẩn bị bệnh được xem xét và không nên sống qua kèo bóng đá pháp tiêu chuẩn tiếp theo.Postgressẽ không nỗ lực lớn để phù hợp với kèo bóng đá pháp tính năng này; Tuy nhiên, những điều này có xu hướng áp dụng trong kèo bóng đá pháp trường hợp ít sử dụng hoặc quan sát, và một Người dùng không có khả năng gặp phải họ.

Hầu hết các chức năng đầu vào và đầu ra tương ứng với cơ sở Các loại (ví dụ: số nguyên và số điểm nổi) thực hiện một số Kiểm tra lỗi. Một số toán tử và chức năng (ví dụ: bổ sung và nhân) không thực hiện kiểm tra lỗi thời gian chạy trong Lợi ích của việc cải thiện tốc độ thực hiện. Trên một số hệ thống, cho Ví dụ, các toán tử số cho một số loại dữ kèo bóng đá pháp có thể âm thầm Dòng chảy hoặc tràn.

Lưu ý rằng một số chức năng đầu vào và đầu ra không có thể đảo ngược. Nghĩa là, kết quả của một hàm đầu ra có thể mất Độ chính xác khi so sánh với đầu vào ban đầu.

Lưu ý:Bản gốcPostgresV4.2 Mã nhận được từ Berkeley Làm tròn tất cả các kết quả điểm nổi chính xác gấp đôi thành sáu chữ số cho đầu ra. Bắt đầu với v6.1, số điểm nổi là được phép giữ lại hầu hết độ chính xác nội tại của kèo bóng đá pháp (Thông thường 15 chữ số cho nhân đôi, 6 chữ số cho phao 4 byte). Các kèo bóng đá pháp khác với các trường điểm nổi cơ bản (ví dụ: hình học các kèo bóng đá pháp) mang độ chính xác tương tự.

Số kèo bóng đá pháp

Các kèo bóng đá pháp số bao gồm các số nguyên hai và bốn byte và bốn- và số điểm nổi tám byte.

Bảng 8-3.PostgresCác kèo bóng đá pháp số

kèo bóng đá pháp số lưu trữ Mô tả phạm vi
float4 4 byte Chính xác biến 6 vị trí thập phân
float8 8 byte Chính xác biến 15 vị trí thập phân
INT2 2 byte Chính xác cố định -32768 đến +32767
INT4 4 byte Lựa chọn thông thường cho Chính xác cố định -2147483648 đến +2147483647
INT8 8 byte Phạm vi rất lớn Chính xác cố định +/- 18 vị trí thập phân
sê -ri 4 byte Nhận dạng hoặc tham chiếu chéo 0 đến +2147483647

Các kèo bóng đá pháp số có toàn bộ số học tương ứng Người vận hành và chức năng. Tham khảotoán tử sốToán học Chức năngĐể biết thêm thông tin.

Thesê -rikèo bóng đá pháp là kèo bóng đá pháp trường hợp đặc biệt Được xây dựng bởiPostgrestừ khác kèo bóng đá pháp thành phần hiện có. Nó thường được sử dụng để tạo ra độc đáo Định danh cho kèo bóng đá pháp mục bảng. Trong việc thực hiện hiện tại, Chỉ định

Tạo bảngTableName(colnamesê -ri);
tương đương với việc chỉ định:
Tạo chuỗiTableName_colname_seq;
Tạo bảngTableName(colnameInt4 mặc định NextVal ('TableName_colname_seq ');
Tạo chỉ mục duy nhấtTableName_colname_key trênTableName(colname);
THẬN TRỌNG

Trình tự ẩn được tạo chosê -rikèo bóng đá pháp WillkhôngBE Tự động gỡ bỏ khi bảng bị bỏ. Vì vậy, kèo bóng đá pháp lệnh sau được thực thi theo thứ tự có thể sẽ thất bại:

Tạo bảngTableName(colnamenối tiếp);
Bàn thảTableName;
Tạo bảngTableName(colnamesê -ri);
Trình tự sẽ vẫn còn trong cơ sở dữ kèo bóng đá pháp cho đến khi rõ ràng rơi bằng cách sử dụngTrình tự thả.

TheSố chính xác thập phânSốCó Cú kèo bóng đá pháp được triển khai đầy đủ nhưng hiện tại (Postgresv6.4) Chỉ hỗ trợ một phạm vi nhỏ của Giá trị chính xác và/hoặc phạm vi. TheINT8kèo bóng đá pháp không có sẵn trên tất cả các nền tảng vì nó dựa vào Trình biên dịch hỗ trợ cho điều này.