IT技術で仕事を減らしたい!

ITエンジニアのメモ+α

PostgreSQLの設定

どうも、nippaです。

前回、構築したPostgreSQLの設定をしていきたいと思います。

構築方法は、"PostgreSQLサーバの構築"を参考にしてください。

環境

Virtual Box OS: CentOS8 DB: PostgreSQL12

1. PostgreSQLの設定ファイル

PostgreSQLの保存先(ここでは、/work/pgsql12/data)に移動すると、confファイルが4つあります。

これらについて簡単に説明します。

2. pg_hba.conf

20.1. The pg_hba.conf File
このファイルでクライアントの認証の設定を行います。設定項目以下のようなに設定できます。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local      database  user  auth-method  [auth-options]
host       database  user  address  auth-method  [auth-options]
hostssl    database  user  address  auth-method  [auth-options]
hostnossl  database  user  address  auth-method  [auth-options]
host       database  user  IP-address  IP-mask  auth-method  [auth-options]
hostssl    database  user  IP-address  IP-mask  auth-method  [auth-options]
hostnossl  database  user  IP-address  IP-mask  auth-method  [auth-options]
hostgssenc database  user  IP-address  IP-mask  auth-method  [auth-options]
hostnogssenc database  user  IP-address  IP-mask  auth-method  [auth-options]

host指定を利用することが多いと思いますので、一例を書いておきます。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host all all 192.168.1.1/32 peer

この設定であれば、192.168.1.1からシステムユーザとデータベースユーザが一致する場合に、ログイン可能になります。Methodについては、公式ページを確認してください。

3. pg_ident.conf

20.2. User Name Maps
外部の認証システム(GSSAPIとか)を利用する際に使用する設定ファイルです。PostgreSQL9.5以降から利用可能な機能です。ファイルの設定記載は、

map-name system-username database-username

の形式で書き込みます。公式の例を見ると、

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME
mymap   /^(.*)@otherdomain\.com$   guest

MAPNAMEは任意の名前で問題ありません。"@otherdomain.com"からのすべてのユーザはデータベースの"guest"としてデータベースにアクセスする設定になります。

4. postgresql.auto.conf

このファイルは直接は編集してはいけません。このファイルは、PostgreSQL上でデータベースの設定を変更した場合に、その設定が反映されるファイルになります。稼働中のデータベースの変更と、起動時の設定postgresql.confに差分があるかを確認する際などに使います。

5. postgresql.conf

起動時に指定する設定を記載する設定ファイルです。全体的な設定やDBのチューニング部分になります。

  • コネクション・証明書の設定
  • リソースの設定
  • ログの書き込み先設定
  • レプリケーション設定
  • クエリのチューニング
  • レポートとログの設定
  • 自動バキュームの設定
  • クライアントの接続のデフォルト設定

など設定できます。必要に応じて、設定してください。

感想

PostgreSQLの設定についてまとめてみました。

ここまで調べたのでPostgreSQLのチューニングについても調べたいと思います。

ではでは、また次回。