ページの先頭行へ戻る
Enterprise Postgres 17 SP1 導入ガイド(サーバ編)

4.7.7 pg_statsinfo

本機能は、サーバコマンドを使用した運用でのみ利用可能です。WebAdminで作成したインスタンスでは使用できません。

4.7.7.1 pg_statsinfoのセットアップ

  1. postgresql.confファイルのパラメータを設定します。

    • パラメータ“shared_preload_libraries”に『pg_statsinfo』を追加します。

    • パラメータ“log_filename”にログファイル名を指定します。

    • パラメータ“logging_collector”に『on』を指定します。

    • パラメータ“log_destination”に『csvlog』を追加します。

    • パラメータ“log_destination”から『stderr』を削除します。

    パラメータ“logging_collector”と“log_destination”に関しては、上記の変更を実施しなくてもpg_statsinfoがpostgresql.confを書き換えずにpostmasterプロセス内の設定を上記のように変更します。
    設定ファイルと動作が一致しなくなるため、明示的に書き換えることを推奨します。

  2. スーパーユーザーで以下のセットアップを実行します。

    pg_statsinfoのモジュールをインストールします。

    # cp -r /opt/fsepv<x>server64/OSS/pg_statsinfo/* /opt/fsepv<x>server64

    pg_statsinfoの動作に必要となるディレクトリを作成します。
    このディレクトリは、pg_statsinfoのプロセスのプロセスIDを管理するためのファイルの格納場所です。
    ディレクトリの必要最小限の権限は、700です。
    ディレクトリの所有者は、インスタンス管理者ユーザーに設定してください。
    ここでは、インスタンス管理者にOSのユーザー“fsepuser”を設定している場合の例を示します。

    # mkdir /run/pg_statsinfo
    # chmod 700 /run/pg_statsinfo
    # chown fsepuser:fsepuser /run/pg_statsinfo

    上記で作成したディレクトリは、OSが停止すると削除されます。
    以下のコマンドを実行することで、再起動時に自動的に上記のディレクトリを作成するように設定することができます。

    # cat << EOF > /usr/lib/tmpfiles.d/pg_statsinfo-<x>.conf
    d /run/pg_statsinfo 0755 fsepuser fsepuser -
    EOF
  3. Fujitsu Enterprise Postgresを再起動します。

参考

OSSのpg_statsinfo v16と、Fujitsu Enterprise Postgresに同梱されたpg_statsinfoとの間には、統計情報取得のために必要となるpostgresql.confのパラメータ設定に以下の違いがあります。

OSS:lc_messagesパラメータに“C”を指定する必要があります。

Fujitsu Enterprise Postgres:lc_messagesパラメータにPostgreSQLがサポートするすべてのメッセージ・ロケールを指定することができます。

4.7.7.2 pg_statsinfoのアンセットアップ

  1. スーパーユーザーで以下のコマンドを実行します。

    $ su -
    Password:******
    # rm -rf /opt/fsepv<x>server64/セットアップ時にコピーしたファイル
    # rm -rf /run/pg_statsinfo
    # rm -rf /usr/lib/tmpfiles.d/pg_statsinfo-<x>.conf

    参考

    セットアップ時にコピーしたファイルは以下で確認することができます。

    # find /opt/fsepv<x>server64/OSS/pg_statsinfo
  2. postgresql.confファイルのパラメータを設定します。

    • パラメータ“shared_preload_libraries”から『pg_statsinfo』を削除します。

    • パラメータ“log_filename”からログファイル名を削除します。

    • パラメータ“logging_collector”に『off』を指定します。

    • パラメータ“log_destination”から『csvlog』を削除します。

    • パラメータ“log_destination”に『stderr』を追加します。

  3. Fujitsu Enterprise Postgresを再起動します。