PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Мога ли да променя метода на разпространение на съществуваща таблица на Citus?

Това е добър въпрос. В момента Citus не предоставя директен начин за промяна на типа дял на съществуващи данни.

При разделянето на диапазона записите се поставят в шардове според стойността на колоната на дяла и минималните/максималните стойности на сегмента. Ако запис x се намира в шард y, тогава това означава y.minvalue <= x.partition_column <= y.maxvalue .

При хеширането колоната на дяла се хешира и записите се насочват според тази хеширана стойност. Следователно мин./макс. стойности, които виждате в pg_dist_shard са граничните стойности за резултата от хеш функцията. В този случай y.minvalue <= hash(x.partition_column) <= y.maxvalue .

Следователно извършването на промените, които споменахте, ще доведе до неправилно разпределение. За да превключите от дял на диапазон към дял на хеш, данните трябва да бъдат преразпределени. За да направите това, предлагам да презаредите данните в празна хеш-разделена таблица.

За повече информация можете да се обърнете към Работа с разпределени таблици и Разпределение на хеширане раздели на документацията на Citus.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 начина за добавяне на водещи нули в PostgreSQL

  2. Как да получа списък с имена на последователности в Postgres?

  3. Динамично дефиниране на връщащи типове редове въз основа на предадена дадена таблица в plpgsql?

  4. Свързване на Python към Heroku PostgreSQL DB?

  5. Как да получите заявка за атрибути на колона от името на таблицата с помощта на PostgreSQL?