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.