新規作成したデータベーススペースにカラムナテーブルを分割して格納するために、カラムナテーブルの作成および編集を行います。
これらの操作例を以下に示します。
カラムナテーブルの新規作成
以下の手順で行います。
カラムナテーブルを作成します。
例)
postgres=# CREATE FOREIGN TABLE tbl1 (col1 int NOT NULL,salesdate date,col3 char(1) NOT NULL) SERVER dwh_server OPTIONS (database 'symfoas', schema 'symfoasuser', table 'db01_public_tbl1') CREATE FOREGIN postgres=# SELECT pgxa_create_table('tbl1'); pgxa_create_table ------------------- t (1 row)
arax_create_partitionコマンドを実行します。
分割条件の各項目は、昇順となるように指定してください。昇順になっていない場合、arax_create_partitionコマンドは異常終了します。
最終の分割条件は、分割条件となり得る値の最大値を指定するか、“MAX”を指定してください。
“MAX”以外を指定した場合は、指定値以上の値を格納すると、arax_create_partitionコマンドは異常終了します。たとえば、最終条件の上限値を'2015-07-31'とした場合、対象のカラムに対して'2015-08-01'をインポートすると異常終了します。
例)
> c:\SymfoAS\bin\arax_create_partirion.bat -d postgres -t tbl1 -r saledate -p "p1,'2015-04-30',DSP1;p2,'2015-05-31',DBS2;p3,MAX,SYMFOAS_DBS"
# /opt/FJSVsymas/bin/arax_create_partirion.sh -d postgres -t tbl1 -r saledate -p "p1,'2015-04-30',DSP1;p2,'2015-05-31',DBS2;p3,MAX,SYMFOAS_DBS"
参考
データベーススペースを再利用する場合は、最終の分割条件を“MAX”とすることを推奨します。
参照
arax_create_partitionコマンドの詳細は、“J.2.20 pgxa_create_partition”を参照してください。
定義済の分割条件の変更
すでに定義されているカラムナテーブルの分割条件を変更します。
pgxa_add_partitionコマンドを実行して、カラムナテーブルの分割条件を再設定します。以下は、定義済の分割条件を分割する例です。
分割対象の分割条件)
p3,MAX,SYMFOAS_DBS
例)
> c:\SymfoAS\bin\arax_add_partirion.bat -d postgres -t tbl1 -p "p3,MAX,SYMFOAS_DBS;p4, '2015-06-30',DBS6"
# /opt/FJSVsymas/bin/arax_add_partirion.sh -d postgres -t tbl1 -p "p3,MAX,SYMFOAS_DBS;p4, '2015-06-30',DBS6"
注意
分割条件が設定されているカラムナテーブルにデータをインポートしている場合、分割対象のパーティションの分割条件の値は、対象のパーティションで格納したデータの最大値を指定してください。
たとえば、分割する値に“MAX”としていたパーティションに“~2015-07-31”までのデータが存在する場合は、以下のように指定してください。
例)
-p "OLD_PAR,MAX,OLD_DBS;NEW_PAR,'2015-07-31',NEW_DBS1"
参考
pgxa_add_partitionコマンドは、現状の分割条件の1つを2つに分割します。
たとえば、分割条件として以下を定義していた場合、P3に格納されるデータは、2015-06-01~2015-07-31が対象になります。
定義例)
"p1,'2015-04-30', DSP1;p2,'2015-05-31', DBS2;p3,'2015-07-31', SYMFOAS_DBS"
この場合、2か月分のデータを1か月ごとに格納するデータベーススペースに分割するために、p3の分割条件“2015-07-31”を“2015-06-30”および“2015-07-31”とするように2つに分割することが可能です。
参照
pgxa_add_partitionコマンドの詳細は、“J.2.21 pgxa_add_partition”を参照してください。
定義済の分割条件の削除
pgxa_drop_partitionコマンドを実行して、カラムナテーブルの分割条件を削除します。
例)
> c:\SymfoAS\bin\arax_drop_partirion.bat -d postgres -t tbl1 -p "p1"
# /opt/FJSVsymas/bin/arax_drop_partirion.sh -d postgres -t tbl1 -p "p1"
注意
分割条件を削除すると、削除対象のデータベーススペースに格納されたデータも削除されます。したがって、不要になったデータベーススペースに対して実行してください。
また、最終の分割条件については、削除できません。
参照
pgxa_drop_partitionコマンドの詳細は、“J.2.22 pgxa_drop_partition”を参照してください。
分割条件の確認
カラムナテーブルの分割条件を表示します。
pgxa_show_partitionコマンドを実行して、分割条件を表示します。
例)
> c:\SymfoAS\bin\arax_show_partirion.bat -d postgres -t tbl1 p6,2015-06-30,DBS6 p7,2015-07-31,DBS7
# /opt/FJSVsymas/bin/arax_show_partirion.sh -d postgres -t tbl1 p6,2015-06-30,DBS6 p7,2015-07-31,DBS7
参照
pgxa_show_partitionコマンドの詳細は、“J.2.23 pgxa_show_partition”を参照してください。