カラムナテーブルの作成および削除の方法について説明します。
カラムナテーブルの作成方法について説明します。
注意
CREATE FOREIGN TABLE文で外部テーブルを作成するときに指定するスキーマ名、外部テーブル名、カラム名などには、半角英数字だけを使用してください。
また、外部テーブルに対するビュー名、インデックス名などには半角英数字だけを使用してください。
なお、使用可能文字の詳細は、“付録A 定量制限”を参照してください。
ポイント
本操作は、データベースユーザーで実施してください。作成したカラムナテーブルに対する権限をカスタマイズすることもできます。
以下の手順で蓄積テーブルに対応するカラムナテーブルを作成します。
psqlコマンドを使用して、データベースpostgresに接続します。
“psql postgres”と実行します。
例)
> psql postgres psql (x.y.z) Type "help" for help.
x.y.z:PostgreSQLのバージョンが表示されます。
蓄積テーブルに対応するカラムナテーブルを作成します。
CREATE FOREIGN TABLE文を使用します。
例) fluentdを利用したデータ連携で格納する蓄積テーブルを作成する場合
postgres=# CREATE FOREIGN TABLE coltbl ( postgres(# fluentd_id_time timestamp, postgres(# fluentd_time timestamp, postgres(# fluentd_tag varchar(1024), postgres(# col1 varchar(1024), postgres(# col2 varchar(1024), postgres(# col3 varchar(1024) postgres(# ) postgres-# SERVER dwh_server OPTIONS (database 'symfoas', schema 'symfoasuser', table 'postgres_public_coltbl'); CREATE FOREIGN TABLE
カラムナデータベース上にテーブルを作成します。
pgxa_create_tableシステム関数を使用します。
例) fluentdを利用したデータ連携で格納する蓄積テーブルを作成する場合
postgres=# SELECT pgxa_create_table('coltbl'); pgxa_create_table ------------------- t (1 row)
参照
各システム関数の詳細は、“リファレンス”の“システム関数”を参照してください。
カラムナテーブルの削除方法について説明します。
カラムナテーブルの削除手順は、以下のとおりです。
psqlコマンドを使用して、データベースpostgresに接続します。
“psql postgres”と実行します。
例)
> psql postgres psql (x.y.z) Type "help" for help.
x.y.z:PostgreSQLのバージョンが表示されます。
カラムナデータベース上のテーブルを削除します。
pgxa_drop_tableシステム関数を使用します。
例) カラムナデータベース上のカラムナテーブルcoltblを削除する場合
postgres=# SELECT pgxa_drop_table('coltbl'); pgxa_drop_table ----------------- t (1 row)
カラムナテーブルを削除します。
DROP FOREIGN TABLE文を使用します。
例)カラムナテーブルcoltblを削除する場合
postgres=# DROP FOREIGN TABLE coltbl; DROP FOREIGN TABLE
注意
カラムナデータベース上のテーブルを削除する前に、DROP FOREIGN TABLEにより外部テーブルを削除した場合は、カラムナテーブル上のテーブルを削除できません。以下の手順を実行して外部テーブルを削除してください。
カラムナテーブルに対する外部テーブルの再作成
pgxa_drop_tableシステム関数によるカラムナデータベース上のテーブル削除
外部テーブルの削除