【PostgreSQL】CentOSでPostgreSQLを設定
以下yumでインストールした場合。
設定ファイルの場所は/var/lib/pgsql/data/pg_hba.conf
<ユーザの作成>
インストール直後はユーザ「postgres」がデータベースのスーパーユーザになっているのでpostgresに切り替えて作業
# su postgres
次のコマンドでユーザ「sa」を作成
# createuser --createdb --no-adduser --pwprompt sa
引数の意味はなんとなく分かると思うけど、ここに説明があります。
削除するときは
# dropuser sa
ユーザの一覧をみたいときは
# psql
postgres=# select * from pg_user;
ここまでできたらpgAdminを使って「sa」でログインし、リモートで管理した方が楽。手動でコマンドを書きたいときはここを参考に。
リモートで接続できない場合は、設定ファイルで許可してないか、ポートが開いていない。ファイヤーウォールの設定は
# system-config-securitylevel-tui
を使う。ここを参考に。
Other portsに5432:tcpと記述すればOK.
設定後、同じコマンドで見てみると↓のように設定されている。
<2008/5/24 追記>
インストールした直後では外部から接続できないようにPostgreSQLが設定されている場合があるので、ここを参考に /var/lib/pgsql/data/postgresql.conf のlisten_addresses='*'にする。
あとクライアントの認証方法が/var/lib/pgsql/data/pg_hba.confに記述されているので、外からはユーザ名とパスワードを使って認証するので下記のように設定する。
host all all 192.168.0.0/24 md5
これは192.168.0.0~192.168.0.255までパスワードを使ってのログインを許可する設定。IPアドレスの表記法についてはwikipediaで。