Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
Tài liệu 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 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.19. Loại định kèo bóng đá hom nay

Định kèo bóng đá hom nay (OID) được sử dụng bên trong bởiPostgreSQLlàm khóa chính cho các bảng hệ thống khác nhau. Kiểuoidđại diện cho một định kèo bóng đá hom nay. Ngoài ra còn có một số loại bí danh chooid: RegProc, RegProcedure, Regoper, Regoperator, RegClass, regtype, reprole, Regnamespace, RegconfigRegdictionary. Bảng 8.26Hiển thị tổng quan.

TheoidLoại hiện được triển khai dưới dạng số nguyên bốn byte không dấu. Do đó, nó không đủ lớn để cung cấp tính duy nhất toàn cơ sở dữ liệu trong cơ sở dữ liệu lớn hoặc thậm chí trong các bảng riêng lẻ lớn.

TheOIDBản thân loại có một vài hoạt động ngoài so sánh. Tuy nhiên, nó có thể được chuyển đến số nguyên, và sau đó thao tác bằng các toán tử số nguyên tiêu chuẩn.

Các loại bí kèo bóng đá hom nay OID không có hoạt động của riêng chúng ngoại trừ các thói quen đầu vào và đầu ra chuyên dụng. Các thói quen này có thể chấp nhận và hiển thị tên biểu tượng cho các đối tượng hệ thống, thay vì giá trị số thô loạiOIDSẽ sử dụng. Các loại bí kèo bóng đá hom nay cho phép tra cứu đơn giản các giá trị OID cho các đối tượng.PG_Attributionhàng liên quan đến bảngMyTable, người ta có thể viết:

Chọn * từ pg_attribut

thay vì:

Chọn * từ pg_attribution

Trong khi điều đó không có vẻ gì là quá tệ, nó vẫn quá đơn giản. Một lựa chọn phụ phức tạp hơn nhiều sẽ là cần thiết để chọn đúng oid nếu có nhiều bảng có tênMyTableTrong các lược đồ khác nhau. TheRegClassBộ chuyển đổi đầu vào xử lý việc tra cứu bảng theo cài đặt đường dẫn lược đồ và do đó nó thực hiệnHồiđiều đúngxôngTự động. Tương tự, việc đúc một bảng OID thànhRegClasslà tiện dụng cho màn hình biểu kèo bóng đá hom nay của OID số.

Bảng 8.26. Loại định kèo bóng đá hom nay

tên Tài liệu tham khảo Mô tả Ví dụ về giá trị
OID any Định kèo bóng đá hom nay số 564182
RegProc PG_PROC Tên chức năng Sum
RegProcedure PG_PROC chức năng với các loại đối số sum (int4)
Regoper pg_operator tên toán tử +
RegOperator PG_OPERATOR toán tử với các loại đối số *(số nguyên, số nguyên)hoặc-(không có, số nguyên)
RegClass pg_ class Tên quan hệ pg_type
regtype pg_type Tên loại dữ liệu Số nguyên
reprole pg_authid Tên vai Smithee
Regnamespace PG_Namespace Tên không gian tên pg_catalog
RegConfig PG_TS_CONFIG Cấu hình tìm kiếm văn bản tiếng Anh
Regdictionary PG_TS_DICT Từ điển tìm kiếm văn bản đơn giản

Tất cả các loại bí kèo bóng đá hom nay OID cho các đối tượng được nhóm bởi không gian tên chấp nhận các tên đủ điều kiện lược đồ và sẽ hiển thị tên đủ điều kiện lược đồ trên đầu ra nếu đối tượng không được tìm thấy trong đường dẫn tìm kiếm hiện tại mà không đủ điều kiện. TheRegProcRegoperCác loại bí kèo bóng đá hom nay sẽ chỉ chấp nhận các tên đầu vào duy nhất (không quá tải), vì vậy chúng được sử dụng hạn chế; cho hầu hết các mục đích sử dụngRegProcedurehoặcRegoperatorphù hợp hơn. VìRegoperator, toán tử Unary được xác định bằng cách viếtKhôngĐối với toán hạng không sử dụng.

Một thuộc tính bổ sung của hầu hết các loại bí kèo bóng đá hom nay OID là tạo ra các phụ thuộc. Nếu một hằng số của một trong các loại này xuất hiện trong một biểu thức được lưu trữ (chẳng hạn như biểu thức hoặc chế độ xem mặc định cột), nó sẽ tạo ra một sự phụ thuộc vào đối tượng được tham chiếu.nextVal ('my_seq' :: regClass), PostgreSQLHiểu rằng biểu thức mặc định phụ thuộc vào chuỗimy_seq; Hệ thống sẽ không để chuỗi bị hủy mà không xóa biểu thức mặc định.Revolelà ngoại lệ duy nhất cho tài sản. Hằng số loại này không được phép trong các biểu thức như vậy.

Lưu ý

Các loại bí kèo bóng đá hom nay OID không hoàn toàn tuân theo các quy tắc cách ly giao dịch. Người lập kế hoạch cũng coi chúng là hằng số đơn giản, có thể dẫn đến lập kế hoạch tối ưu phụ.

Một loại định kèo bóng đá hom nay khác được sử dụng bởi hệ thống làXIDhoặc giao dịch (viết tắtXACT) định kèo bóng đá hom nay. Đây là loại dữ liệu của các cột hệ thốngxminxmax. Định kèo bóng đá hom nay giao dịch là số lượng 32 bit.

Một loại định kèo bóng đá hom nay thứ ba được sử dụng bởi hệ thống làCIDhoặc định kèo bóng đá hom nay lệnh. Đây là loại dữ liệu của các cột hệ thốngcmincmax. Số nhận dạng lệnh cũng là số lượng 32 bit.

Một loại định kèo bóng đá hom nay cuối cùng được sử dụng bởi hệ thống làtidhoặc định kèo bóng đá hom nay tuple (định kèo bóng đá hom nay hàng). Đây là kiểu dữ liệu của cột hệ thốngCTID. ID tuple là một cặp (số khối, chỉ mục tple trong khối) xác định vị trí vật lý của hàng trong bảng của nó.

(Các cột hệ thống được giải thích thêm trongPhần 5.5.)