postgresql.conf
https://www.postgresql.jp/document/11/html/config-setting.html
https://www.postgresql.jp/document/11/html/runtime-config-logging.html
基本
設定反映のタイミング
- 不可(internal)
- 起動(postmaster)
- 再読み込み(sighup)
- スーパーユーザーのみ(suset)
- いつでも(user)
再起動しないと変更が反映されないパラメータ(postmaster)
一般ユーザのSETコマンドで変更可能なパラメータ(user)
- search_path
- スキーマを検索する順番を指定するのに使われるパラメータ。
- デフォルトは "$user", public
- default_transaction_isolation
- 新しいトランザクションのデフォルトの分離レベルを設定する。
- read unccommitted, read committed(デフォルト), repeatable read, serializable
- SETコマンドでそのセッションの設定値を変更できる。
- client_encoding
- クライアントの符号化方式(文字セット)を設定する。
ログ関連
- log_destination(sighup)
- logging_collector(postmaster)
- ログをファイルに書き出すかどうかを設定する。
- on/off(デフォルト)
- log_directory(sighup)
- ログファイルを格納するディレクトリを設定する。
- デフォルト log($PGDATA/log)
- log_filename(sighup)
- サーバログを書き込むファイルのファイル名を設定する。
- logging_collector が on で、サーバーログをファイルに書き出す時だけ有効。
- デフォルト postgresql-%Y-%m-%d_%H%M%S.log
- log_min_messages(suset)
- サーバログに書き込むログのレベルを設定する。
- INFO…ユーザから出力を要求された情報
- NOTICE…ユーザにとって役立つ情報
- WARNING…不適切なコマンド使用等に対するユーザへの警告(デフォルト)
- ERROR…特定のコマンドを中断させたエラー
- LOG…データベース管理者にとって役立つ、パフォーマンスや内部の処理に関する情報
- FATAL…特定のセッションを中断させたエラー
- PANIC…全てのセッションを中断させた致命的なエラー
- log_statement
- log_connections
- クライアント認証の成功終了などのサーバへの接続試行がログに残るかを設定する。
- on/off offがデフォルト
- log_min_duration_statement
- 整数値 指定したミリ秒以上を要したSQL文と実行時間を出力する。
- -1(デフォルト)無効
受験対策
2.19_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(エラー報告とログ取得)」
2.21_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル」
2.43_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル」
2.59_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf)」
2.77_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgesql.confの記述方法)」
2.78_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgesql.conf、クライアント接続デフォルト)」
2.79_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf:エラー報告とログ取得)」説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf:エラー報告とログ取得)」
2.98_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf)」
2.117_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf)」
2.118_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(postgresql.conf)」
SET
https://www.postgresql.jp/document/11/html/sql-set.html
postgresql.conf の一部設定を psql で接続後、SET文を使って変更する事ができる。
- option
- SESSION 接続中のクライアントのセッションでのみ変更が有効
- LOCAL 実行中のトランザクション内でのみ変更が有効
SET による変更自体は即座に有効になる。
SET で変更した内容をリセットするには RESET を使う。
SET で変更した内容を確認するには SHOW を使う。
SET でデフォルト値に再設定するには DEFAULT を使う。
トランザクション内でSETコマンドを実行した場合、トランザクションがコミットされると変更したパラメータ値はセッション内で保存される。
また、トランザクションがロールバックされると、変更したパラメータ値はトランザクション開始時の値に戻る。
SHOW
実行時パラメータの値を表示する。
- SHOW {パラメータ名 | ALL};
ALTER SYSTEM
https://www.postgresql.jp/docs/11/sql-altersystem.html
ALTER SYSTEMは指定されたパラメータ設定をpostgresql.auto.confファイルに書き出し、これがpostgresql.confに加えて読み込まれる。
バージョン9.4で新機能として追加された。
pg_hba.conf
https://www.postgresql.jp/document/11/html/auth-pg-hba-conf.html
host-based authentication の略。
- 接続元ホスト
- 接続先データベース
- ユーザ
- IPアドレス
- 認証方法
- trust 接続を無条件で許可します。
- reject 接続を無条件に拒否します。
- peer ユーザ名が要求されたデータベースユーザ名と一致するか検査します。(local)
- ident ユーザ名が要求されたデータベースユーザ名と一致するか検査します。(host)
pg_hba.conf を変更した場合は「service postgresql reload」で良い。
最初に見つかった行の認証方式を利用する。
接続先のデータベース名、接続に使用するユーザ名は、カンマ区切りで表記することによって複数指定できる。
設定値に空白を含む場合、設定値をダブルクォートで囲む。
受験対策
2.10_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル」
2.14_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル」
2.36_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル」
2.44_Silverの例題解説「S2 運用管理 -S2.3 設定ファイル」
2.60_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(pg_hba.conf)」
2.80_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(pg_hba.confの設定方法)」
2.99_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(pg_hba.conf)」
2.119_Silverの例題解説「S2 運用管理 - S2.3 設定ファイル(pg_hba.conf)」