Daher können Sie eine vorhandene nicht partitionierte Tabelle nicht in eine partitionierte Tabelle ändern.
Sie müssen eine neue partitionierte Tabelle (mit einem anderen Namen) erstellen, alle erforderlichen Partitionen erstellen und dann die Daten aus der alten Tabelle in die neue, partitionierte Tabelle kopieren.
Etwas wie:
create table clients_partitioned
(
.... all columns ...
)
PARTITION BY LIST (client_id);
Erstellen Sie dann die Partitionen:
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);
Kopieren Sie dann die Daten:
insert into clients_partitioned
select *
from clients;
Danach können Sie die alte Tabelle löschen und die neue Tabelle umbenennen:
drop table clients;
alter table clients_partitioned rename to clients;
Vergessen Sie nicht, Ihre Fremdschlüssel und Indizes neu zu erstellen.