sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan jeg ændre distributionsmetoden på en eksisterende Citus-tabel?

Det er et godt spørgsmål. I øjeblikket tilbyder Citus ikke en direkte måde at ændre partitionstype af eksisterende data på.

Ved interval-partitionering placeres poster i shards i henhold til deres partitionskolonneværdi og shard min/max-værdier. Hvis en post x findes i shard y, betyder det y.minvalue <= x.partition_column <= y.maxvalue .

Ved hash-partitionering er partitionskolonnen hashed, og poster rutes i henhold til denne hash-værdi. Derfor kan du se min/maks værdier i pg_dist_shard er grænseværdierne for resultatet af hashfunktionen. I dette tilfælde y.minvalue <= hash(x.partition_column) <= y.maxvalue .

Derfor ville det ende med en forkert fordeling at foretage de ændringer, du har nævnt. For at skifte fra områdepartition til hashpartition skal dataene omfordeles. For at gøre det foreslår jeg at genindlæse dataene til en tom hash-partitioneret tabel.

For mere information kan du henvise til Arbejde med distribuerede tabeller og hashdistribution afsnit af Citus Dokumentation.




  1. UTL_FILE.FREMOVE Eksempel:Slet en fil i Oracle

  2. Fejl ved forsøg på at installere Django CMS i virtualenv med MySQL på Mac OSX

  3. Sådan returneres en liste over tilgængelige sorteringer i PostgreSQL

  4. Tom fil efter download