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

Đính kèm DANH SÁCH phân vùng vào bảng hiện có trong postgres 11

Trích dẫn từ sách hướng dẫn

Vì vậy, bạn không thể thay đổi một bảng không được phân vùng hiện có thành một bảng được phân vùng.

Bạn cần tạo một bảng mới (với tên khác) được phân vùng, tạo tất cả các phân vùng cần thiết và sau đó sao chép dữ liệu từ bảng cũ sang bảng mới được phân vùng.

Một cái gì đó như:

create table clients_partitioned
(
  .... all columns ...
)
PARTITION BY LIST  (client_id);

Sau đó, tạo các phân vùng:

create table clients_1 
   partition of clients_partioned
   values in (1,2,3);

create table clients_1 
   partition of clients_partioned
   values in (4,5,6);

Sau đó sao chép dữ liệu:

insert into clients_partitioned
select *
from clients;

Sau khi hoàn tất, bạn có thể bỏ bảng cũ và đổi tên bảng mới:

drop table clients;
alter table clients_partitioned rename to clients;

Đừng quên tạo lại các chỉ mục và khóa ngoại của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trình kích hoạt cập nhật PostgreSQL

  2. Vectơ địa lý ST_HexagonGrid để tìm tất cả các điểm

  3. Cách giới hạn quyền truy cập vào cơ sở dữ liệu trong PostgreSQL

  4. Chi phí công khai PostgreSQL miễn phí

  5. C # enum để postgres enum