機能
pgx_dmpallコマンドから呼び出されるユーザー出口(コピーコマンド)です。
形式
pgx_dmpallコマンドがコピーコマンドを呼び出す際の引数は以下です。
コピーコマンド名 prepare "バックアップ情報ファイルのパス名" "バックアップ対象一覧ファイルのパス名"
コピーコマンド名 backup
コピーコマンド名 finalize "バックアップ情報ファイルのパス名"
引数
操作モード
モード | 説明 |
---|---|
prepare | コピーコマンドでバックアップするための準備処理を実装します。 PostgreSQLのオンラインバックアップモードが開始される前に呼び出されます。 |
backup | バックアップの実処理を実装します。 PostgreSQLのオンラインバックアップモード中に呼び出されます。 |
finalize | バックアップの完了処理を実装します。 PostgreSQLのオンラインバックアップモードが終了した後に呼び出されます。 |
バックアップ情報ファイルのパス名
ダブルクォートで囲まれた、最新のバックアップのバックアップ情報ファイルのファイルパス名です。バックアップが一度も行われていない場合は"-"となります。
バックアップ対象一覧ファイルのパス名
ダブルクォートで囲まれた、コピーコマンドでのバックアップ対象となる資源名の一覧が出力されたファイルパス名です。資源名には、以下のいずれかが資源ごとに記述されます。
資源 | 記述内容 |
---|---|
データベースクラスタ | pg_data |
テーブル空間 | テーブル空間の名前 |
例
データベースクラスタ、および名前がdbspace、indexspaceのテーブル空間をコピーコマンドのバックアップ対象とする場合、本ファイルの内容は以下のようになります。
pg_data dbspace indexspace
参考
pgx_dmpallコマンドがバックアップ対象一覧ファイルに出力する資源名の符号化方式は、本コマンドがclient_encoding設定パラメータにautoを指定してデータベースに接続した際の符号化方式であり、コマンド実行時のロケールに依存します。
操作モードによって、引数の数が異なります。操作モードごとの引数は以下のとおりです。
操作モード | 第一引数 | 第二引数 | 第三引数 |
---|---|---|---|
prepare | 操作モード | バックアップ情報ファイルのパス名 | バックアップ対象一覧ファイルのパス名 |
backup | なし | なし | |
finalize | バックアップ情報ファイルのパス名 |
また、操作モードによって、バックアップ情報ファイルとバックアップ対象一覧ファイルのアクセス可否が異なります。操作モードごとのアクセス可否は以下のとおりです。
操作モード | バックアップ情報ファイル | バックアップ対象一覧ファイル |
---|---|---|
prepare | 参照可能 | 参照可能 |
backup | - | - |
finalize | 参照と更新が可能 | - |
戻り値
戻り値 | 意味 |
---|---|
0 | 正常終了 pgx_dmpallコマンドは処理を継続します。 |
0以外 | 異常終了 pgx_dmpallコマンドが異常終了します。 |
説明
コピーコマンドはpgx_dmpallコマンドを実行したOSユーザーの権限で動作します。このため、pgx_dmpallコマンドを実行するユーザーに対して、コピーコマンドの実行権限を付与してください。また、必要に応じてコピーコマンド内でユーザーの変更を行ってください。
バックアップ情報ファイルに情報を書き込む場合は、コピーコマンドからリダイレクションなどの方法で、任意の文字列を書き込んでください。
コピーコマンドは各モードごと呼び出されるため、各モードの処理をすべて実装してください。
複数の資源を同時にコピーしたい場合は、コピーコマンド内で並列にコピーするように実装してください。
注意
バックアップ情報ファイルやバックアップ対象一覧ファイルは削除できません。また、権限も変更できません。
コピーコマンドの標準出力や標準エラーは、pgx_dmpallコマンドを実行した端末に出力されます。
コピーコマンドが無応答になった場合、pgx_dmpallコマンドも無応答となります。OSのコマンドでコピーコマンドの状態を確認し、無応答であると判断した場合は、OSのコマンドでコピーコマンドを強制停止してください。
コピーコマンドの処理内容や処理結果を一時ファイルなどに取得し、コピーコマンドが異常終了した場合に、後から原因が調査できるように実装してください。
prepareモードの場合のみ、PostgreSQLクライアントアプリケーションを利用してコピーコマンドからデータベースへアクセスすることが可能です。それ以外のモードの場合は、コピーコマンド内からFUJITSU Enterprise PostgresのコマンドやPostgreSQLアプリケーションを実行しないでください。
バックアップ開始時に共有メモリバッファ上のデータがディスクに書き出されている必要があるため、postgresql.confファイルのfsyncパラメータを有効にしてください。