他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

F.1. adminpack

adminpackは、pgAdminやその他の管理・運用ツールがサーバログファイルの遠隔管理を行うなどの、追加的な機能を提供できるようにするための数多くのサポート関数を提供します。 デフォルトでは、この関数の使用はすべてスーパーユーザに限定されていますが、GRANTコマンドを使用して他のユーザーに許可されている場合があります。

表 F.1に示す関数はサーバをホスティングしているマシン上のファイルに対して書き込みアクセスを提供します。 (表 9.88の関数も参照してください。そちらは読み取り専用アクセスを提供します。) ユーザーがスーパーユーザーか、関数に応じたpg_read_server_files、またはpg_write_server_filesロールのいずれかのロールを与えられていない限り、データベースクラスタディレクトリ内のファイルにのみアクセス可能です。 ただし、相対パスと絶対パスのどちらも利用できます。

表F.1 adminpack関数

名前戻り値の型説明
pg_catalog.pg_file_write(filename text, data text, append boolean)bigint テキストファイルに書き込む、または追記する
pg_catalog.pg_file_rename(oldname text, newname text [, archivename text])boolean ファイル名を変更する
pg_catalog.pg_file_unlink(filename text)boolean ファイルを削除する
pg_catalog.pg_logdir_ls()setof record log_directoryディレクトリ内のログファイルの一覧を表示する

pg_file_writeは指定されたdatafilenameで指定されたファイルに書き込みます appendが偽であれば、ファイルは既に存在していてはいけません。 appendが真であれば、ファイルが既に存在していても構いません。その場合、追記されます。 書き込んだバイト数を返します。

pg_file_renameはファイルの名前を変更します。 archivenameが省略されたり、NULLである場合は、単純にoldnamenewname(既に存在していてはいけません)に変更します。 archivenameが指定されていれば、まずnewnamearchivename(既に存在していてはいけません)に変更し、それからoldnamenewnameに変更します。 第2段階の名前の変更が失敗した場合には、エラーを報告する前にarchivenamenewnameに戻そうとします。 成功した場合には真を、元のファイルが存在しなかったり、書き込みできなかった場合には偽を返します。その他の場合にはエラーを発生します。

pg_file_unlinkは指定されたファイルを削除します。 成功した場合には真を、指定されたファイルが存在しなかったり、unlink()の呼出しが失敗した場合には偽を返します。その他の場合にはエラーを発生します。

pg_logdir_lslog_directoryディレクトリ内にあるログファイルすべての開始時のタイムスタンプとパス名を返します。 この関数を使うには、log_filenameパラメータはデフォルト設定(postgresql-%Y-%m-%d_%H%M%S.log)でなければなりません。