0

ubuntuでpostgres-xlを使用しています。私は9行のテーブルを持っています。そのテーブルを 3 つの部分に分割したい。どうすればこれを行うことができますか?

postgres=# SELECT * FROM cities;
 name | location 
------+----------
 a    |        1
 a    |        2
 a    |        4
 a    |        3
 a    |        4
 a    |        5
 a    |        6
 a    |       11
 a    |       14
(9 rows)
4

2 に答える 2

2

Postgres-XL でそれを行う方法はわかりませんが、pg_shard 拡張機能を使用すると、テーブルを 3 つ (またはそれ以上) の部分にハッシュ分割できます。

CREATE TABLE cities (name text, location int);
SELECT master_create_distributed_table('cities', 'location');
SELECT master_create_worker_shards('cities', 3, 2);

pg_shard の使用を開始するには、 https ://github.com/citusdata/pg_shard でドキュメントを見つけることができます。

于 2015-08-18T15:24:22.667 に答える
1

テーブルの作成時に分散戦略を指定する必要があります。

CREATE TABLE cities (
    name VARCHAR,
    location VARCHAR,
    PRIMARY KEY (location)
)
DISTRIBUTE BY HASH(location);

制約に関していくつかの落とし穴があることに注意してください 。PostgresXL CREATE TABLE のドキュメントも参照してください。

于 2016-09-08T10:00:28.810 に答える