ServBayでのPostgreSQLデータベース設定の変更方法
ServBayは、macOS開発者向けに強力なローカルWeb開発環境を提供しており、PostgreSQLデータベースも統合されています。本記事では、ServBay内のPostgreSQL設定を変更する方法について、推奨されるUIからの操作方法と、参考用としての手動設定ファイル編集手順について詳しく説明します。
ServBayでインストールされているPostgreSQLのバージョンによって、主な設定ファイルは通常 /Applications/ServBay/etc/postgresql/<version>
ディレクトリ内にあります。例えばPostgreSQL 16の場合、設定ファイルパスは /Applications/ServBay/etc/postgresql/16
となります。
重要なお知らせ
ServBayは、ほとんどの設定管理をグラフィカルユーザーインターフェイス(UI)から行い、自動で各種設定ファイルを生成します。設定の変更は必ずServBayのUI経由で操作することを強く推奨します。
手動で設定ファイルを直接編集すると、次回ServBayによる管理や設定更新時に変更内容が上書きされてしまう可能性があります。手動編集は一時的なテストや、内部構造を理解している上級ユーザー向けのみに限定し、長期運用や本番環境では推奨されません。
ServBay UIを使った設定変更(推奨)
ServBayは直感的なグラフィカル管理画面を提供しており、PostgreSQLの設定変更にはこの方法が最もおすすめです。UIからの設定変更は自動的に適用され、ほとんどの場合即時反映されます(必要に応じて再起動の案内があります)。
手順
- ServBayアプリケーションを起動します。
- 左側のナビゲーションにある
データベース
を選択します。 - データベース一覧から
PostgreSQL
を見つけ、設定を変更したい 該当バージョン をクリックします。 - PostgreSQLの設定画面へ進むと、バージョンごとの詳細情報と設定オプションが確認できます。
設定可能な項目
この画面では、ServBayが自動で設定した デフォルトのPostgreSQLユーザー名とパスワード(通常このページで表示)を確認できます。また、以下のよく使われるパラメータを直接変更可能です:
- リッスンアドレス (
listen_addresses
):PostgreSQLが待ち受けるネットワークインターフェースを指定します。デフォルトは*
(全ての利用可能なインターフェース)です。 - ポート (
port
):PostgreSQLサービスが待ち受けるネットワークポート。デフォルトは標準の5432
(MySQL/MariaDBの3306とは異なります)。 - 最大接続数 (
max_connections
):同時にデータベースへ接続できるクライアント数の上限を設定します。 - 作業メモリ (
work_mem
):各クエリプロセスがソートやハッシュ演算時に使用できるメモリ量を設定します。
さらに、Additional Parameters
セクションでは、ServBay UIから直接は設定できない postgresql.conf
の追加パラメータも追記・編集できます。フォーマットは1行1パラメータで、パラメータ名 = 値
形式です。
設定の反映
設定変更後、画面下部の 保存
ボタンをクリックしてください。ServBayが自動的に変更を適用します。ほとんどの項目は即時反映されますが、一部設定ではPostgreSQLサービスの再起動が必要な場合があります。その場合はServBayから案内されます。
設定ファイルを手動編集する方法(長期運用には非推奨)
前述の通り、手動で設定ファイルを編集すると、ServBay UIの操作で内容が上書きされてしまう恐れがあり、日常的な管理にはおすすめできません。しかし、ファイルの所在や内容を理解しておくことは、PostgreSQLの根本的な動作の把握に役立ちます。
WARNING
手動による設定ファイル編集は一時的なデバッグや高度なトラブルシュート時のみ推奨されます。ServBayは設定の変更を必ずUIから行うことを強く推奨しています。
手動で編集したファイルのパスや内容も、ServBayの内部管理により上書きされる場合がありますのでご注意ください。
設定ファイルの場所
ServBayで利用されている主なPostgreSQL設定ファイルは postgresql.conf
と pg_hba.conf
です。ファイルの具体的な場所はインストールしたバージョンによって異なり、通常以下の通りです:
postgresql.conf
:/Applications/ServBay/etc/postgresql/<version>/postgresql.conf
pg_hba.conf
:/Applications/ServBay/etc/postgresql/<version>/pg_hba.conf
なお、古いドキュメントなどで /db/postgresql/16/pg_hba.conf
などの記述がある場合もありますが、ServBayの現在のUIでは /Applications/ServBay/etc
配下の設定を主に管理しています。
手動で編集する場合、どのファイルが実際に利用中かを必ずご確認ください。ServBayのUIと連携をとるためには /Applications/ServBay/etc/postgresql/<version>
配下がより確実です。
よく使われる設定項目例
以下に、postgresql.conf
および pg_hba.conf
の代表的な設定項目例と、その編集例を示します。編集する際は、管理者権限でテキストエディタ(VS Code, Sublime Text, Nano など)からファイルを開く必要があります。
postgresql.conf
postgresql.conf
はPostgreSQLサーバのメイン設定ファイルで、動作の大部分を制御します。
# リッスンアドレス:サーバが待ち受けるネットワークインターフェース。"*"は全てのインターフェース。
listen_addresses = '*'
# ポート番号:サーバがリッスンするネットワークポート。PostgreSQL標準は5432。
port = 5432
# 最大接続数:同時接続できるクライアント数の上限。
max_connections = 100
# 共有バッファサイズ:データベースキャッシュに使われる共有メモリ領域。
shared_buffers = 128MB
# ログディレクトリ:ログファイルの保存先となるディレクトリを指定。
log_directory = 'log'
# ログファイル名フォーマット:ログファイルの命名パターン。
log_filename = 'postgresql-%Y-%m-%d.log'
# スロークエリログ有効化:指定したミリ秒を超えた処理をログに記録。
# 正の数(例:2000は2秒超のクエリ)で有効化、-1で無効。
log_min_duration_statement = 2000
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pg_hba.conf
pg_hba.conf
(Host-Based Authentication)は、クライアント接続時の認証方式や許可権限を定義するファイルです。
# TYPE DATABASE USER ADDRESS METHOD
# Unixドメインソケット経由のローカル接続を許可、認証はtrust(パスワード不要)。
# "local" はUnixドメインソケット接続のみ
local all all trust
# すべてのIPv4アドレスからのTCP/IPリモート接続を許可、認証はmd5パスワード方式。
# IPv4ローカル接続:
host all all 0.0.0.0/0 md5
# 特定のIPv4サブネット(例:192.168.1.0/24)からのリモート接続を許可、認証はmd5。
# IPv4ローカル接続(特定サブネット例):
# host all all 192.168.1.0/24 md5
2
3
4
5
6
7
8
9
10
11
12
13
pg_hba.conf
を編集する際は、各カラム(TYPE
, DATABASE
, USER
, ADDRESS
, METHOD
)の意味を十分理解してください。不適切な設定は、接続障害やセキュリティリスクの原因となります。
手動設定変更の反映
設定ファイルを手動で編集した場合、変更を反映させるにはPostgreSQLサービスの再起動が必要です。
ServBay管理画面での再起動
- ServBayの管理画面を開きます。
- 左側ナビゲーションから
データベース
を選択します。 PostgreSQL
を見つけて、該当バージョンをクリックします。- ページ内またはServBayメイン画面の「ソフトウェア」/「サービス」リストから、該当バージョンのPostgreSQLサービスを探し、
再起動
ボタンをクリックします。
servbayctl
コマンドラインツールでの再起動
ServBayのコマンドラインツール servbayctl
を使えば、サービスの再起動も手軽に行えます:
servbayctl restart postgresql <version>
<version>
部分はご利用中のPostgreSQLバージョン(例:16)に置き換えて実行してください。
まとめ
ServBayでは、PostgreSQL設定の変更を手軽かつ安全に行えるUIが用意されており、この方法が最も推奨されます。
UIからリッスンアドレスやポート、最大接続数など多くの主要設定が編集でき、データベースのデフォルト認証情報も閲覧できます。
一時的なデバッグなど、やむを得ず手動編集が必要な場合には、postgresql.conf
・pg_hba.conf
が /Applications/ServBay/etc/postgresql/<version>
に格納されています。
どちらの方法で編集した場合も、設定の適用にはPostgreSQLサーバの再起動が必要なケースがあるため、ServBay UIまたはコマンドラインツール servbayctl
での手順を活用しましょう。
これらの設定と手順を理解することで、開発ニーズに応じてServBay環境内のPostgreSQLデータベースを柔軟に調整できるようになります。