PostgreSQL の初期設定
2010-04-22-1: [PostgreSQL][CentOS]
1. CentOS 付属の PostgreSQL は、8.1.11 のため 8.4.x をインストールする
下記サイトより、pgdg-centos-8.4-x.noarch をダウンロードし、yum による管理を行う。
- pgdg-centos - PostgreSQL 9.0.X PGDG RPMs for CentOS - Yum Repository Configuration
http://yum.pgsqlrpms.org/reporpms/repoview/pgdg-centos.html
$ sudo rpm -ivh pgdg-centos-8.4-x.noarch.rpm
$ sudo yum check-update
$ sudo yum install postgresql-server
2. DB の初期化、PostgreSQL の起動を行う
$ sudo service postgresql initdb -E UTF8 --no-locale
$ sudo chkconfig postgresql on
$ sudo service postgresql start
3. ユーザの追加
username というユーザを追加する場合
$ sudo -u postgres createuser -P username
Enter password for new role: <パスワード>
Enter it again: <パスワード>
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
4. DB の作成
dbname という DB を、username オーナーで作る場合。
$ sudo -u postgres createdb -E UTF-8 -O username dbname
5. 他のサーバからの接続を許可する
$ sudo vi /var/lib/pgsql/data/postgresql.conf
他のサーバ全てからの接続を許可する場合
listen_addresses = '*'
いくつかのサーバを指定する場合(「,」でつなぐ)
listen_addresses = 'localhost,192.0.2.1'
$ sudo vi /var/lib/pgsql/data/pg_hba.conf
下記を追加し、パスワード認証で接続を許可する。
host all all 192.0.2.1/32 md5