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 ý:TheCIDRvàinetCá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ự.
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ốvà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ânvàSố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.