PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

SQL, Postgres OIDs, Chúng là gì và tại sao chúng hữu ích?

OID về cơ bản cung cấp cho bạn một id tích hợp cho mọi hàng, được chứa trong cột hệ thống (trái ngược với cột không gian người dùng). Điều này rất hữu ích cho các bảng mà bạn không có khóa chính, có các hàng trùng lặp, v.v. Ví dụ:nếu bạn có một bảng có hai hàng giống nhau và bạn muốn xóa hàng cũ nhất trong hai hàng, bạn có thể làm điều đó bằng cách sử dụng cột oid.

OID được triển khai bằng cách sử dụng số nguyên không dấu 4 byte. Họ không duy nhất – bộ đếm OID sẽ xung quanh ở mức 2³²-1. OID cũng được sử dụng để xác định các loại dữ liệu (xem /usr/include/postgresql/server/catalog/pg_type_d.h ).

Theo kinh nghiệm của tôi, tính năng này thường không được sử dụng trong hầu hết các ứng dụng được postgres hỗ trợ (có thể một phần là do chúng không phải là tiêu chuẩn) và việc sử dụng chúng về cơ bản không được dùng nữa:

Trong PostgreSQL 8.1 default_with_oids bị tắt theo mặc định; trong các phiên bản trước củaPostgreSQL, nó được bật theo mặc định.

Việc sử dụng OID trong bảng người dùng được coi là không còn được dùng nữa, do đó, việc cài đặt mostinstall nên tắt tính năng thay đổi này. Các ứng dụng yêu cầu OID cho một bảng cụ thể nên chỉ định VỚI OIDS khi tạo bảng. Biến này có thể được kích hoạt để tương thích với các ứng dụng cũ không tuân theo hành vi này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hành tinh PostgreSQL trong Thiên hà Ansible

  2. OFFSET đấu với ROW_NUMBER ()

  3. Làm cách nào để lấy truy vấn thuộc tính cột từ tên bảng bằng PostgreSQL?

  4. PostgreSQL xóa tất cả nội dung

  5. Cách chỉ định một tab trong COPY giao diện người dùng postgres