Ainsi, vous ne pouvez pas modifier une table non partitionnée existante en une table partitionnée.
Vous devez créer une nouvelle table (avec un nom différent) partitionnée, créer toutes les partitions nécessaires, puis copier les données de l'ancienne table vers la nouvelle table partitionnée.
Quelque chose comme :
create table clients_partitioned
(
.... all columns ...
)
PARTITION BY LIST (client_id);
Créez ensuite les partitions :
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);
Copiez ensuite les données :
insert into clients_partitioned
select *
from clients;
Une fois cela fait, vous pouvez supprimer l'ancienne table et renommer la nouvelle :
drop table clients;
alter table clients_partitioned rename to clients;
N'oubliez pas de recréer vos clés étrangères et vos index.