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

Tại sao không thể tạo bảng phân vùng

"Phân vùng bảng khai báo", tức là phân vùng như một tính năng hạng nhất của DBMS với cú pháp riêng của nó, là được thêm vào PostgreSQL 10 .

Trong các phiên bản trước đó, bạn có thể đạt được hiệu quả tương tự với nỗ lực nhiều hơn một chút bằng cách sử dụng "kế thừa bảng". Có một trang trong sách hướng dẫn mô tả cách thực hiện việc này theo cách thủ công , được tóm tắt là:

  1. Tạo bảng "chính", từ đó tất cả các phân vùng sẽ kế thừa.
  2. Tạo một số bảng "con" mà mỗi bảng kế thừa từ bảng chính.
  3. Thêm các ràng buộc bảng vào bảng phân vùng để xác định các giá trị khóa được phép trong mỗi phân vùng.
  4. Đối với mỗi phân vùng, hãy tạo một chỉ mục trên (các) cột chính, cũng như bất kỳ chỉ mục nào khác mà bạn có thể muốn.
  5. Theo tùy chọn, xác định trình kích hoạt hoặc quy tắc để chuyển hướng dữ liệu được chèn vào bảng chính đến phân vùng thích hợp.
  6. Đảm bảo rằng tham số cấu hình bind_exclusion không bị vô hiệu hóa trong postgresql.conf. Nếu đúng như vậy, các truy vấn sẽ không được tối ưu hóa như mong muốn.

Để làm cho việc này dễ dàng hơn, nếu bạn không thể nâng cấp lên phiên bản 10, bạn có thể sử dụng tiện ích mở rộng như pg_partman cung cấp cho bạn các chức năng bổ sung để thiết lập và quản lý các tập hợp phân vùng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Công cụ dịch Oracle PL / SQL sang Postgresql PL / pgSQL

  2. Cách kiểm tra SQL đặc biệt của tôi với các tham số trong cửa sổ truy vấn Postgres

  3. Vị trí mặc định của cơ sở dữ liệu PostgreSQL trên Linux

  4. Mối quan hệ giữa Django Postgres ArrayField vs One-to-Many

  5. Tham gia các bảng từ các cơ sở dữ liệu khác nhau (PostgreSQL)