環境構築ツールとは、 PostgresForestのに対して次のような操作 (主にメンテナンスのための操作)を行うツールです。
- PostgresForestを構成するサーバの追加・削除・ステータス閲覧
- PostgresForestコンフィグレーションの追加・閲覧・削除
- データベース・テーブル・インデックス等の作成・削除・各種設定変更
- グローバルシステムカタログ [*]. の新規作成・追加・削除・整合性チェック
[*] | グローバルシステムカタログとは、PostgresForest環境のメタ情報を保持するデータベースです。 実体はPostgreSQLのデータベースとして作成します。 |
環境構築ツール forestadm を使用することで、 PostgresForestのグローバルシステムカタログに接続し、 対話的にPostgresForest全体の設定やユーザデータベースの設定等を行うことが出来ます。 本章では forestadm を使用してグローバルシステムカタログに接続・終了する方法、 接続する前に必要な処理、そしてグローバルシステムカタログに接続した後の 設定モードについて説明をします。
環境構築ツールの起動する際の書式は次のようになります。
- 書式
- ./forestadm <オプション>
- オプション
-h, --host hostname 接続先GSCのあるホスト名/IP(必須) -p, --port port 接続先GSCのポート番号(必須) -g, --gsc gscname GSC名(必須) -i, --init GSC新規作成 -U, --user username ログイン名(必須) -W, --passwd password パスワード -l, --log log_level ログレベル(ERROR/WARNING/NOTICE/LOG/DEBUG/TRACE) -f, --file filename 外部ファイル filename に記述したコマンドを一括読込 --help ヘルプ 具体的な使用法について以下で説明します。
環境構築ツールでグローバルシステムカタログに接続するに先立ち、 グローバルシステムカタログを作成しておく必要があります。 グローバルシステムカタログを作成するには、オプションに -i を指定して 環境構築ツールを起動します。
作成例:
> ./forestadm -h 192.168.1.1 -p 6001 -g gsc -U postgres -W postgres -i Welcome to PostgresForest Command Line Tool. Connecting to Database GSC = 192.168.1.1:6001/gsc グローバルシステムカタログ:gscを新規作成しました。これにより、 -h 、 -p オプションで指定したPostgreSQLに、 -g で指定した名前のグローバルシステムカタログデータベースが作成できます。
事前に作成したグローバルシステムカタログに、環境構築ツールで接続・ログインします。
パスワードをオプションで指定する場合:
> ./forestadm -h 192.168.1.1 -p 6001 -g gsc -U forest -W forest Welcome to PostgresForest Command Line Tool. Connecting to Database GSC = 192.168.1.1:6001/gsc [gsc]$パスワードをオプションで与えない場合:
> ./forestadm -h 192.168.1.1 -p 6001 -g gsc -U forest Welcome to PostgresForest Command Line Tool. Connecting to Database GSC = 192.168.1.1:6001/gsc Password > forest [gsc]$接続すると、環境構築ツール独自のプロンプトが表示されます。 これにより、環境構築ツールの 各種コマンド. を対話的に実行し、 実行結果を見ることができるようになります。 接続した状態で実行できるコマンドは次章で説明します。
ログオフするには、以下のように \q コマンドを発行します。:
[gsc]$ \q Now closing the connection >
ログインして対話的にコマンドを実行できる状態では、次の2つのモードが存在します。
グローバルシステムカタログ設定モード
このモードでは、データベースを配置するPostgreSQLサーバの登録や、 ユーザデータベースの配置先に関する操作、グローバルシステムの各種操作等、 PostgresForestデータベースクラスタ全体に関連する各種設定を行うことができます。
ユーザデータベース設定モード
このモードでは、各ユーザデータベースに対するテーブル操作やDDL実行を行うことができます。
現在どちらのモードになっているかは、プロンプトの表示形式で判別することができます。 グローバルシステムカタログ設定モードで動作している場合、 プロンプトは接続中のグローバルシステムカタログ名と「 $ 」で構成されます。 ユーザデータベース設定モードで動作している場合、 プロンプトは接続中のユーザデータベース名と「 > 」で構成されます。
プロンプト例(グローバルシステムカタログ設定モード):
[gsc]$プロンプト例(ユーザデータベース設定モード):
[sample]>次章の 各種コマンド. の説明では、全てのコマンドに対して そのコマンドを実行できるモードを記述しています。
環境構築ツールでログインした直後は、グローバルシステムカタログ設定モードになっています。
グローバルシステムカタログ設定モードからユーザデータベース設定モードに変更するには open db コマンドを使用します。 但し、事前にユーザデータベースが作成されている必要があります。 ユーザデータベース作成方法は ユーザデータベースの操作. を参照してください。
- 書式
- open db <dbname> ;
- オプション
dbname: 設定したいユーザデータベース名 実行例:
[gsc]$ open db sample ; データベース:sampleをオープンしました。 [sample]>
ユーザデータベース設定モードからグローバルシステムカタログ設定モードに変更するには close db コマンドを使用します。
- 書式
- close db ;
実行例:
[sample]> close db ; データベース:sampleをクローズしました。 [gsc]$
ログインした状態で実行した 各種コマンド. は、 環境構築ツール内で履歴として保存しています。 履歴を表示するには \h コマンドを使用します。 履歴から実行したいコマンドがある場合、 \h 番号 で実行することができます。 また、履歴はモードごとに独立して保持されます。
[gsc]$ \h 0 : drop instance 1 1 : create instance 192.168.1.1 6002 2 : show instance 3 : create db sample (0, 1) 4 : open db sample [gsc]$ \h 2 インスタンス一覧 SERVERID | HOST | PORT | STATUS -------------------------------------- 0 | 192.168.1.1 | 6001 | 稼動中 1 | 192.168.1.1 | 6002 | 稼動中
本章では、環境構築ツールでログイン後に実行できる各種コマンドを説明します。
本節では、PostgresForestが参照するPostgreSQLサーバインスタンスの情報を 登録・削除・参照する方法を説明します。
グローバルシステムカタログ上にPostgreSQLサーバインスタンスを登録します。
- 書式
- create instance <hostname> <port> ;
- オプション
hostname: ホスト名やIPアドレス port: ポート番号 - 実行可能なモード
- グローバルシステムカタログ設定モード
- 備考
- このコマンドは、存在するPostgreSQLサーバインスタンスの情報を グローバルシステムカタログに追加するだけです。 このコマンドを実行しても、PostgreSQLサーバインスタンスそのものは生成しません。
実行例:
[gsc]$ create instance 192.168.1.1 6002 ; インスタンス:192.168.1.1:6002を作成しました。
グローバルシステムカタログからPostgreSQLサーバインスタンスを登録解除します。
- 書式
- drop instance <server_id> ;
- オプション
server_id: サーバID(インスタンスID) - 実行可能なモード
- グローバルシステムカタログ設定モード
- 備考
- データベースが存在するインスタンスは削除できません。
実行例:
[gsc]$ drop instance 1; インスタンスID:1 を削除しました。
指定したサーバ状態でグローバルシステムカタログのサーバ情報を変更します。
- 書式
- set instance < up | down > <server_id> ;
- オプション
server_id: サーバID(インスタンスID) up: 稼働中 down: 障害中 - 実行可能なモード
- グローバルシステムカタログ設定モード
- 備考
- サーバが障害中となった場合、リカバリー処理を行った上で状態を 稼働中 に 戻す必要があります。 このコマンドで 稼働中 に設定をしてもリカバリー処理そのものは 行われないことに注意してください。
実行例:
[gsc]$ set instance up 1 ; インスタンスID:1 の状態を稼動中に設定しました。
登録したPostgreSQLサーバインスタンス一覧を表示します。
- 書式1
- show instance ;
- 書式2
- \fi
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ show instance ; インスタンス一覧 SERVERID | HOST | PORT | STATUS -------------------------------------- 0 | 192.168.1.1 | 6001 | 稼動中 1 | 192.168.1.1 | 6002 | 稼動中
何らかの障害が発生した際に記録される障害ログを表示します。
- 書式1
- show brokenlog ;
- 書式2
- \fb
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例(横に長いため右のほうは削除しています):
[gsc]$ show brokenlog ; 切り離しログ一覧 SERVERID | DATETIME | CLIENT | ------------------------------------------------------------------------------------------------ 1 | 2006-12-20 06:49:34.0 | UnknownHost | Connection refused. Check that the hostnam ...
障害ログを消去します。
- 書式
- clear brokenlog ;
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ clear brokenlog ; 切り離しログクリア
本節では、グローバルシステムカタログを操作(冗長化や削除)する方法を説明します。
現在接続中のグローバルシステムカタログを冗長化し、指定したサーバIDに配置します。
- 書式
- create gsc <server_id> [force] ;
- オプション
server_id: サーバID force: コピー先に同じ名前のグローバルシステムカタログが 存在する場合に強制的に上書きする - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ create gsc 1 force ; グローバルシステムカタログ:gscを、サーバID:1に作成しました。
指定したサーバIDのグローバルシステムカタログを削除します。
- 書式
- drop gsc <server_id> <gsc_name> ;
- オプション
server_id: サーバID - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ create gsc 1 force ; グローバルシステムカタログ:gscを、サーバID:1に作成しました。
登録したグローバルシステムカタログ一覧を表示します。
- 書式1
- show gsc ;
- 書式2
- \fg
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ show gsc ; グローバルシステムカタログ一覧 DBNAME | HOST | PORT | SERVERID -------------------------------------- gsc | 192.168.1.1 | 6001 | 0 gsc | 192.168.1.1 | 6002 | 1
グローバルシステムカタログの整合性をチェックし、 結果をコンソール画面に表示します。チェック内容は以下の通りです。
- 接続したグローバルシステムカタログからその他の グローバルシステムカタログ情報を取得し、順次接続します。
- すべてのグローバルシステムカタログの内容が一致していることを確認します。
- グローバルシステムカタログに登録されたユーザデータベースが存在することを確認します。
- グローバルシステムカタログに登録されたユーザデータベースのテーブルの存在を確認します。
- グローバルシステムカタログに登録されたユーザデータベースの パーティションテーブルにおけるカラムの存在を確認します。
- 書式
- check gsc ;
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ check gsc ; グローバルシステムカタログの整合性をチェックしました。
本節ではユーザデータベースの作成・削除等で使用するコマンドについて説明します。
新たなユーザデータベースを作成し、グローバルシステムカタログに情報を登録します。
- 書式
- create db <db_name> (<server_id> [, <server_id>…] ) [force] [with Option];
- オプション
db_name: 作成するデータベース名 server_id: 作成するサーバID(複数の場合はカンマ区切りで列挙する) force: 強制的にユーザデータベースを作成する Option: 「CREATE DATABASE」 SQLのWITH句に渡されるオプション(default:なし) - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ create db sample (0, 1) with "encoding='utf8'" ; データベース:sampleを、サーバID:0,1,に作成しました。
ユーザデータベースを削除し、グローバルシステムカタログから情報を削除します。
- 書式
- drop db <db_name> [force] ;
- オプション
db_name: 削除するユーザデータベース名 force: 強制的にユーザデータベースを削除する - 実行可能なモード
- グローバルシステムカタログ設定モード
- 備考
- drop db を行うと、指定したユーザデータベースが全てのPostgreSQLサーバから削除されます。
実行例:
[gsc]$ drop db sample ; データベース:sampleを削除しました。
ユーザデータベース一覧を表示します。
- 書式1
- show db ;
- 書式2
- \fd
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ show db; データベース一覧 DBNAME | SERVERID | HOST | PORT -------------------------------------- sample | 0 | 192.168.1.1 | 6001 sample | 1 | 192.168.1.1 | 6002
ユーザデータベースの配置先を追加し、グローバルシステムカタログに情報を登録します。 create db コマンドで事前に作成済みのユーザデータベースに対してのみ使用できます。
- 書式
- create dbinstance <db_name> <server_id> [force];
- オプション
db_name: データベース名 server_id: 追加するサーバID(事前に create instance で登録されているもの) force: 指定した場合、既存のデータを上書きします - 実行可能なモード
- グローバルシステムカタログ設定モード
- 備考
- v4.0の本コマンドは、ユーザデータベースの配置先を追加したという情報を グローバルシステムカタログに追加するのみとなっており、 ユーザデータベースの実体は複製しません。 本コマンド実行後に、PostgreSQLの標準ツール等を使用して 追加したPostgreSQLサーバ上にユーザデータベースを複製する必要があります。
実行例:
[gsc]$ show db ; データベース一覧 DBNAME | SERVERID | HOST | PORT -------------------------------------- sample | 0 | 192.168.1.1 | 6001 [gsc]$ create dbinstance sample 1 ; データベースインスタンス:sampleを、サーバID:1に作成しました。 [gsc]$ show db ; データベース一覧 DBNAME | SERVERID | HOST | PORT -------------------------------------- sample | 0 | 192.168.1.1 | 6001 sample | 1 | 192.168.1.1 | 6002
ユーザデータベースの配置先を減らし、グローバルシステムカタログに情報を登録します。
- 書式
- drop dbinstance <db_name> <server_id> [force] ;
- オプション
db_name: データベース名 server_id: 配置を解除したいサーバID force: 指定した場合、強制的にユーザデータベースを削除します - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ show db ; データベース一覧 DBNAME | SERVERID | HOST | PORT -------------------------------------- sample | 0 | 192.168.1.1 | 6001 sample | 1 | 192.168.1.1 | 6002 [gsc]$ drop dbinstance sample 1 ; データベースインスタンス:sampleを、サーバID:1から削除しました。 [gsc]$ show db ; データベース一覧 DBNAME | SERVERID | HOST | PORT -------------------------------------- sample | 0 | 192.168.1.1 | 6001
本節では、アプリケーションプログラムがPostgresForestのJDBCドライバを使って 接続した際の動作を決定する、コンフィグレーションの操作について説明します。
グローバルシステムカタログに新たなコンフィグレーションを登録します。
- 書式
- create config <config_name> ;
- オプション
config_name: コンフィグレーション名 - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ create config 'sample-config' ; コンフィグレーション:sample-configを作成しました。
グローバルシステムカタログに登録されているコンフィグレーションを削除します。
- 書式
- drop config <cfgname> ;
- オプション
cfgname: コンフィグレーション名 - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ drop config 'sample-config' ; コンフィグレーション:sample-configを削除しました。
グローバルシステムカタログに登録されているコンフィグレーション項目の値を設定します。
- 書式
- set config <cfgname> <param_name>=<param_value> [,<param_name>=<param_value>, …] ;
- オプション
cfgname: コンフィグレーション名 param_name: コンフィグレーション項目名 param_value: コンフィグレーション項目値 - コンフィグレーション項目名
cfgname: コンフィグレーション名 descript: 説明 refresh: グローバルシステムカタログキャッシュ読み込み間隔(秒)(default:30) retry: 障害時リトライ回数 (default:0) timeout: 障害判定タイムアウト(秒)(default:300) dist: 検索処理分散方式(ラウンドロビン:0, 固定:1) (default:0) pmode: パーティション無しモード [†] (パーティションテーブル有り:0, パーティションテーブル無し:1) (default:0) smode: 更新同期モード(する:1, しない:0) (default:0) - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ set config sample-config refresh=100, descript='サンプル' ; コンフィグレーション:sample-configを更新しました。
[†] パーティションテーブル無し (pmode=1) とすることで、内部の動作が若干高速化されます。
グローバルシステムカタログに登録されているコンフィグレーションをコピーし、 新たなコンフィグレーションを作成します。
- 書式
- replicate config <src_conf> <new_conf> ;
- オプション
src_conf: コピー元コンフィグレーション名 new_conf: コピーして生成するコンフィグレーション名 - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ replicate config 'sample-config' 'copy-config' ; コンフィグレーション:sample-configをcopy-configに複製しました。
コンフィグレーションの一覧を表示します。
- 書式1
- show config ;
- 書式2
- \fc
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例(横に長いため右のほうは表示していません):
[gsc]$ show config ; コンフィグレーション一覧 CONFIG | DESCRIPTION | CACHE_REFRESH | RETRY_COUNT | DETECT_TIMEOUT | ------------------------------------------------------------------------------------------------ FOREST_DEFAULT_CONFIG | Default Configuration | 30 | 3 | 30 | copy-config | サンプル | 100 | 3 | 30 | sample-config | サンプル | 100 | 3 | 30 |
ユーザデータベースに対して、PostgreSQL準拠のDDLを実行することができます。
実行可能なDDLは以下の通りです。
- CREATE TABLE [‡]
- ALTER TABLE
- DROP TABLE
- CREATE VIEW
- DROP VIEW
- CREATE INDEX
- ALTER INDEX
- DROP INDEX
各DDLの書式は、PostgreSQLマニュアル等を参照してください。
- 実行可能なモード
- ユーザデータベース設定モード
実行例:
[sample]> create table test1 ( i integer ) ; [DDL] create table test1 ( i integer ) [結果]--> 正常に実行されました。また、外部ファイルにDDLをまとめて記述しておき、一度に実行することができます。
- 書式
- \i <filepath>
- オプション
filepath: DDLの書かれた外部ファイルのパス - 実行可能なモード
- ユーザデータベース設定モード
実行例:
[sample]> \i '/home/forest/PostgresForest_v32_doc/sample/sql/createtable.sql' execute command file:/home/forest/PostgresForest_v32_doc/sample/sql/createtable.sql [DDL] create table customer ( cust_cd character(10), cust_name character varying(30), post_no character(10), address character varying(50), phone_no character(20), pres_name character varying(20), primary key (cust_cd)) [結果]--> 正常に実行されました。 [DDL] create table employee ( emp_cd character(10), ..... ......
[‡] create table でテーブルを作成すると、自動的に 多重化テーブル となります。 テーブルのパーティション化については、 テーブルのパーティション操作. を 参照してください。
本節では、テーブルの分散配置に関して操作をする方法を説明します。
データベース内のテーブル一覧を表示します。
- 書式1
- show table [<table_name>] ;
- 書式2
- \ft [<table_name>]
- オプション
table_name: 詳細表示したいテーブル名 指定が無い場合は全てのテーブルの概要 - 実行可能なモード
- ユーザデータベース設定モード
実行例:
[sample]> show table ; テーブル一覧 TABLENAME | TABLETYPE | PARTITION_FUNC | STATUS ------------------------------------------------------ customer | 多重化 | | 稼動中 employee | 多重化 | | 稼動中 item | 多重化 | | 稼動中 salesorder | 多重化 | | 稼動中 salesordertail | 多重化 | | 稼動中
多重化テーブル( create table で作成したテーブル)を、複数のテーブルに分割します。 ユーザデータベースを配置した全てのサーバ上で、対照になるよう分割します。
- 書式
- part table <table_name> (<keycolumn> [, <keycolumn>..] ) <count> [ with [hashname=<hash_class>], [rest=<restore>] ] ;
- オプション
table_name: テーブル名 keycolumn: パーティション化のキー属性名 ※キー属性は、括弧内にカンマ区切りで記述します。 count: パーティション数 hash_class: パーティション関数のクラス名 rest: データ移行の有無 (有:1、無:0(default)) - 実行可能なモード
- ユーザデータベース設定モード
実行例:
[sample]> show table salesorder ; テーブル項目一覧[salesorder] PARTITION_KEY | COLUMNNAME | DATATYPE ---------------------------------------- | order_no | bpchar | cust_cd | bpchar | emp_cd | bpchar | distcent_cd | bpchar | ent_date | date | ent_time | time | supp_date | date | sum | int4 | order_stat | int2 [sample]> part table salesorder (order_no) 2 ; パーティション1テーブル:salesorder を作成しました。 [sample]> show table salesorder ; テーブル項目一覧[salesorder] PARTITION_KEY | COLUMNNAME | DATATYPE ---------------------------------------- * | order_no | bpchar | cust_cd | bpchar | emp_cd | bpchar | distcent_cd | bpchar | ent_date | date | ent_time | time | supp_date | date | sum | int4 | order_stat | int2 [sample]> show table ; テーブル一覧 TABLENAME | TABLETYPE | PARTITION_FUNC | STATUS ------------------------------------------------------------- customer | 多重化 | | 稼動中 employee | 多重化 | | 稼動中 item | 多重化 | | 稼動中 salesorder | パーティション化 | DEFAULT | 稼動中 salesordertail | 多重化 | | 稼動中この例では、2つのサーバ上に構成されたsampleデータベースにおいて、 salesorderテーブルをパーティション化しています。 パーティション前と後のイメージは以下の通りです。
- パーティション前
サーバID 0 1 salesorder salesorder - パーティション後
サーバID 0 1 salesorder_00 salesorder_00 salesorder_01 salesorder_01 パーティション化することで物理的には複数のテーブルに分かれますが、 JDBCドライバでアクセスする際には元のテーブル名 ( この場合であれば salesorder )で アクセスしてください。
多重化テーブル( create table で作成したテーブル)を、複数のテーブルに分割します。 テーブルのパーティション化(1)_. とは違い、各サーバごと非対照にテーブルを分割配置できます。
- 書式
- part table2 <table_name> (<keycolumn>, <keycolumn>...) <count> servid=<server_id> partno=(<part_no>[,<part_no>...]) [, servid=<server_id>, partno=(<part_no> [, <part_no>…] ) ...] [with [hashname=<hash_class>], [rest=<restore>] ] ;
- オプション
table_name: テーブル名 keycolumn: パーティション化のキー属性名 ※キー属性は、括弧内にカンマ区切りで記述します。 count: パーティション数 part_no: パーティションテーブル番号 ※サーバ毎に配置するパーティション2テーブルをカンマ区切りで括弧内に記述します hash_class: パーティション関数のクラス名 restore: データ移行の有無 (有:1、無:0(default)) - 実行可能なモード
- ユーザデータベース設定モード
実行例:
[sample]> show table salesordertail ; テーブル項目一覧[salesordertail] PARTITION_KEY | COLUMNNAME | DATATYPE --------------------------------------- | order_no | bpchar | item_cd | bpchar | pack_num | int4 | sepa_num | int4 | sum | int4 [sample]> part table2 salesordertail (order_no) 2 servid=0 partno=(0) , servid=1 partno=(1) ; パーティション2テーブル:salesordertail を作成しました。 [sample]> show table ; テーブル一覧 TABLENAME | TABLETYPE | PARTITION_FUNC | STATUS --------------------------------------------------------------- customer | 多重化 | | 稼動中 employee | 多重化 | | 稼動中 item | 多重化 | | 稼動中 salesorder | パーティション化 | DEFAULT | 稼動中 salesordertail | パーティション化2 | DEFAULT | 稼動中 [sample]> show table salesordertail ; テーブル項目一覧[salesordertail] PARTITION_KEY | COLUMNNAME | DATATYPE --------------------------------------- * | order_no | bpchar | item_cd | bpchar | pack_num | int4 | sepa_num | int4 | sum | int4この例では、2つのサーバ上に構成されたsampleデータベースにおいて、 salesordertailテーブルを非対称のパーティション化しています。 パーティション前と後のイメージは以下の通りです。
- パーティション前
サーバID 0 1 salesordertail salesordertail - パーティション後
サーバID 0 1 salesordertail_00 salesordertail_01
part table または part table2 コマンドを使ってパーティション化したテーブルを、 多重化テーブルへと戻します。
- 書式
- unpart table <table_name> ;
- オプション
table_name: テーブル名 - 実行可能なモード
- ユーザデータベース設定モード
パーティション化された各分割テーブルのアクセス優先度を設定します。
- 書式
- set priority <table_name> <part_no> (<server_id>[ , <server_id> …]) ;
- オプション
table_name: テーブル名 part_no: パーティションテーブル番号 server_id: サーバID ※優先度順にサーバIDを記述します。
指定されたテーブルの優先度を表示します。
- 書式1
- show priority <table_name>;
- 書式2
- \fp <table_name>
- オプション
table_name: テーブル名 - 実行可能なモード
- ユーザデータベース設定モード
本節では、テーブルをパーティション化する際に分割の仕方を制御するパーティション関数について 登録・削除・一覧表示をする方法を説明します。
グローバルシステムカタログに新たなパーティション関数を登録します。 パーティション関数の実体は、``org.postgresforest.vm.Hash_I`` インターフェースを実装した Javaのクラスです。
- 書式
- create hash <hash_class> <‘file_path’> [with <description> ]] ;
- オプション
hash_class: パーティション関数のクラス名パッケージ名付の表記形式) file_path: パーティション関数のクラスファイルのファイルパス description: パーティション関数の説明 (default:なし) - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例(右側折り返しています):
[gsc]$ create hash 'org.postgresforest.vm.IntegerRangeHash5000' '/home/forest/IntegerRangeHash5000.class' with '5000件ごとにレンジ分割する関数' ; パーティション関数:org.postgresforest.vm.IntegerRangeHash5000を作成しました。
グローバルシステムカタログに登録されているパーティション関数を削除します。
- 書式
- drop hash <hash_class>;
- オプション
hash_class: パーティション関数のクラス名 - 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ drop hash 'org.postgresforest.vm.IntegerRangeHash5000' ; パーティション関数:org.postgresforest.vm.IntegerRangeHash5000を削除しました。
パーティション関数一覧を表示します。
- 書式1
- show hash ;
- 書式2
- \fh
- 実行可能なモード
- グローバルシステムカタログ設定モード
実行例:
[gsc]$ show hash ; パーティション関数一覧 HASHNAME | DESCRIPTION ----------------------------------------------------------------------------- org.postgresforest.vm.IntegerRangeHash5000 | 5000件ごとにレンジ分割する関数