PostgreSQL Study (2)

今回は設定ファイルが格納されるディレクトリについて。
とはいえパッケージでインストールしているので 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

Google サイト内検索

Amazonアソシエイト