★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 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やその他の管理・運用ツールがサーバログファイルの遠隔管理を行うなどの、追加的な機能を提供できるようにするための数多くのサポート関数を提供します。 この関数の使用はすべてスーパーユーザに限定されています。

表F.1「adminpack関数」に示す関数はサーバをホスティングしているマシン上のファイルに対して書き込みアクセスを提供します。 (表9.86「汎用ファイルアクセス関数」の関数も参照してください。そちらは読み取り専用アクセスを提供します。) データベースクラスタディレクトリ内のファイルにのみアクセス可能ですが、相対パスと絶対パスのどちらも利用できます。

表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 recordlog_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)でなければなりません。

表F.2「廃止予定のadminpack関数」に示す関数は廃止予定であり、新しいアプリケーションでは使うべきではありません。代わりに表9.77「サーバシグナル送信関数」表9.86「汎用ファイルアクセス関数」に示す関数を使ってください。 この関数はpgAdminの古いバージョンとの互換性のためだけにadminpackで提供されています。

表F.2 廃止予定のadminpack関数

名前戻り値の型説明
pg_catalog.pg_file_read(filename text, offset bigint, nbytes bigint)textpg_read_file()の別名
pg_catalog.pg_file_length(filename text)bigintpg_stat_file()が返すsize列と同じ
pg_catalog.pg_logfile_rotate()integerpg_rotate_logfile()の別名。booleanではなく、integerで0または1を返すことに注意