今回は設定ファイルが格納されるディレクトリについて。
とはいえパッケージでインストールしているので
Ubuntu ベースの話になります。
Ubuntu では基本的に /etc の直下か 配下にパッケージ名のディレクトリで格納されます。
/etc/postgresql
ただし PostgreSQL の場合 /etc/postgresql の下には (インストール時点では) 9.1 というサブディレクトリしかなく さらにその中には main というサブディレクトリしかありません。
/etc/postgresql/9.1/main
そして /etc/postgresql/9.1/main の下に 設定ファイルが格納されています。
$ ls -F /etc/postgresql/9.1/main/
environment pg_hba.conf postgresql.conf
pg_ctl.conf pg_ident.conf start.conf
この 9.1/main ですが、 これらは PostgreSQL の“データベースクラスタ”を示しています。
[参考サイト]
データベースクラスタの作成 - PostgreSQL 9.1.5文書
データベースクラスタは、ロールやテーブルスペースを共有するデータベースの塊です。 Ubuntu では、1つのサーバ内に複数のデータベースクラスタを作成できるように あらかじめ設定ファイルなどのディレクトリにデータベースクラスタの サブディレクトリを作成してくれているわけです。
パッケージのインストール時に データベースクラスタを作成してくれるため 1つしかデータベースクラスタを使用しない場合でも 最初から 9.1/main のようにデータベースクラスタを識別するディレクトリになっています。
ちなみにインストール時にデータベースクラスタを自動で作成しないディストリビューションや コンパイルしてインストールした場合や、追加でデータベースクラスタを作成する場合は 上記参考サイトに記載してあるように initdb コマンドを使用して データベースクラスタを作成します。
$ initdb -D /usr/lib/postgresql/9.1/main