postgresql.confファイルの設定方法

postgresql.conf ファイルは PostgreSQL に関する基本的な設定を記述するファイルです。ここでは PostgreSQL の環境で postgresql.conf ファイルを設定する方法について解説します。

(Last modified: )

postgresql.confファイルの場所

postgresql.conf はデフォルトでは PostgreSQL をインストールしたディレクりの中の data ディレクトリの中に格納されています。

postgresql.confファイルの場所(1)

postgresql.conf ファイルはテキストファイルですので内容を確認したり編集したりする場合はテキストエディタでファイルを開いてください。

postgresql.confファイルの場所(2)

postgresql.confの設定

各項目は パラメータ名 = 設定値 という形式で記述されています。例えば postgresql.conf ファイルを見てみると次のような記述があります。

# - Connection Settings -

listen_addresses = '*'  # what IP address(es) to listen on;
                        # comma-separated list of addresses;
                        # defaults to 'localhost'; use '*' for all
                        # (change requires restart)
port = 5432             # (change requires restart)
max_connections = 100   # (change requires restart)

最初の listen_addresses パラメータは PostgreSQL に対するクライアントからの接続を許可するホストや IP アドレスを設定します。現在は '*' が設定されており、すべてのクライアントからの接続を許可します。(実際にどのデータベースに接続を許可するかなどの詳細な設定は pg_hba.conf ファイル で設定します。この設定はそれよりも前の段階のものです)。

また # のあとに記載された文はすべてコメントとして扱われます。設定に対するコメントを記述したり、パラーメータに対する設定を無効にしたりする場合に使われます。例えば設定ファイルを見てみると次のような記述があります。

# - Authentication -

#authentication_timeout = 1min  # 1s-600s
#password_encryption = md5      # md5 or scram-sha-256
#db_user_namespace = off

パラメータに対する記述がありますが先頭に # が記載されているので現在はコメントとなっており設定が行われていません。パラメータに対する設定を行う場合は、先頭の # を削除して必要に応じて値を編集するとしてください。(もちろん # が付いた文はそのままにして、新しく最初から記述しても構いません)。例えば authentication_timeout パラメータに関する設定を行ってみます。

# - Authentication -

authentication_timeout = 1min   # 1s-600s
#password_encryption = md5      # md5 or scram-sha-256
#db_user_namespace = off

設定内容を変更した場合、 PostgreSQL を再起動しないと設定内容が反映されないものとそうでないものがあります。設定ファイルで (change requires restart) と書かれているものは再起動が必要となります。

それぞれのパラメーターについては、今後設定が必要になった時に解説します。

-- --

postgresql.conf の設定方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。