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. PDOの制限を考慮せずに、見つかった行の総数を取得するにはどうすればよいですか?

    2. SSMSのntextまたはnvarchar(max)からすべてのテキストをどのように表示しますか?

    3. MySQL-カスタム列を検索

    4. 別のテーブルに行を挿入するようにMySQLトリガーをプログラムするにはどうすればよいですか?