OSS-DB Silver 暗記 B-3
Contents
運用管理(52%):::設定ファイル【重要度:5】dokoQL不可
postgresql.conf
- 概要:PostgreSQL のパラメータを設定する複雑なファイル
暗記
- PostgreSQL の名前をそのまま使っているファイルがある
- なので、多分一番重要なファイル
タイミング
postgresql.conf の内容を変更した後に、その変更が反映されるタイミング
- 起動時(postmaster) :PostgreSQL 起動時
- 起動中
- リロード時(sighup) : postgresql.conf 再読込
- Superuser のみ(suset) : SET文で設定値変更
- 誰でも(user) : SET文で設定値変更
※設定値は、SHOW文で確認できる
- Fig.1 の説明
- PostgreSQL 停止中に内容修正:postmaster
- PostgreSQL 実働中に内容修正:sighup, suset, user
暗記
- postgresql.conf の内容変更が反映されるタイミングは、起動時と起動中に大別される
- 起動中は、postgresql.conf のリロードありとリロードなしに大別される
- リロードなしは、suset とuser に大別される
- 起動時:postmaster
- 起動中
- リロードあり:sighup
- リロードなし
- suset
- userset
起動時(postmaster)
- listen_addresses(string:localhost) :PostgreSQLのIPアドレス
- port(integer:5432) :サーバが監視するTCPポート
- max_connections(integer:100) :同時接続可能なユーザ数
- logging_collector(boolean:off) :ログ収集するか否か
例:logging_collector の確認(SHOW文)
[postgres]$ psql -c "SHOW logging_collector" ------------------- logging_collector ------------------- off ------------------- [postgres]$ ▯
再読み込み時(reload)
- log_destination(enum:stderr):
- サーバメッセージログの出力先
- stderr, csvlog, syslog, eventlog
- log_directory(string:$PGDATA/log):
- ログファイルが作成されるディレクトリ
- log_filename(string:postgresql-%Y-%m-%d_%H%M%S.log) :ログファイル名
- log_line_prefix(string:%m[%p]):
- ログの先頭に出力する文字
例:log_destination の確認(SHOW文)
[postgres]$ psql -c "SHOW log_destination" ----------------- log_destination ----------------- stderr ----------------- [postgres]$ ▯
Superuserのみ(suset)
- log_min_messages(enum:WARNING) :ログレベル
- PANIC, FATAL, LOG, ERROR, WARNING
例:log_min_messages の設定(SET文)
postgres=# show log_min_messages; ------------------ log_min_messages ------------------ warning ------------------ postgres=# set log_min_messages to 'panic'; SET postgres=# show log_min_messages; ------------------ log_min_messages ------------------ panic ------------------ postgres=# ▯
誰でも(user)
- search_path(string:”$user”, public):スキーマを検索する順番
- default_transaction_isolation(enum:read committed):
- トランザクションの分離レベル
- read uncommitted, read committed, repeatable read, serializable
- client_encoding(string:SQL_ASCII):
- クライアント側文字セット(encoding)
例:default_transaction_isolation の設定(SET文)
postgres=# show default_transaction_isolation; ------------------------------- default_transaction_isolation ------------------------------- read committed ------------------------------- postgres=# set default_transaction_isolation to 'serializable'; SET postgres=# show default_transaction_isolation; ------------------------------- default_transaction_isolation ------------------------------- serializable ------------------------------- postgres=# ▯
暗記
- 起動時:ログ収集するか否か
- 起動中
- リロードあり:ログ(ファイル名・ディレクトリ名)など
- リロードなし
- suset :ログレベル
- userset
pg_hba.conf
- 概要:クライアント認証を設定したファイル
- hba:host-based authentication(ホストベース認証)
タイミング
pg_hba.conf の内容を変更した後に、その変更が反映されるタイミング
- リロード時(signup) : pg_hba.conf 再読込
再読み込み時(reload)
- TYPE
- local:UNIXドメイン接続
- host :TCP/IP接続
- DATABASE
- all もしくは、db1, db2
- USER
- all もしくは、user1, user2
- ADDRESS
- address(CIDRアドレス) :例. 192.168.93.0/24
- IP-address IP-mask :例. 192.168.93.0 255.255.255.0
- METHOD
- trust, reject
- md5, scram-sha-256
- password
例:pg_hba.conf
[postgres]$ cat /home/postgres/data/pg_hba.conf # ---------------------------------------------------------------- # TYPE DATABASE USER ADDRESS METHOD # ---------------------------------------------------------------- local database user auth-method host database user address auth-method host database user IP-address IP-mask auth-method # ---------------------------------------------------------------- [postgres]$ ▯
参考
- IT資格といえばLPI-Japan | LinuC/OSS-DB/HTML5/ACCEL/OPCEL
- PostgreSQL 11.5文書
- OSS教科書 OSS-DB Silver Ver2.0対応
- 徹底攻略OSS-DB Silver問題集[Ver.2.0]対応
- dokoQL 学習用オンラインSQL実行環境
- スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)