postgresql install

サーバーとコマンドクライアント、開発用ライブラリをインストールします。

yum install postgres postgresql-server postgresql-devel

※ django を使うマシンでは、pip install psycopg2 とします。その際、

python-devel が必要になる場合があります。

1. DB初期化

root で以下のコマンドを実行します。

su - postgres
initdb --encoding=UTF-8 --locale=ja_JP.UTF-8 -D/var/lib/pgsql/data

成功すると、以下のようなメッセージが出ます。 成功しました。以下を使用してデータベースサーバを起動することができます。

postgres -D /var/lib/pgsql/data

または

pg_ctl -D /var/lib/pgsql/data -l logfile start

exit で root に戻ります。

2. PostgreSQL設定

/var/lib/pgsql/data/ に複数のファイルが出来ているはずです。 pg_hba.conf と、postgresql.conf を修正します。 どちらもバックアップを取っておきましょう。

2.1 pg_hba.conf を編集

これはアクセスの設定です。 ファイルの最後の方の以下の部分を編集します。
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust

この状態(初期状態)だと、同一サーバーからのアクセスのみ受け付けます。 外部からアクセスするには、portforwarder 等を使う必要があります。 PostgreSQLが8.4以上なら、hostssl というSSLを使う設定も出来ます。 参考資料を見て下さい。

今回は、上記の行に加えて、host で アクセス元のIPを追加します。 インタリオの固定IPと、サーバー自身の固定IPを追加します。 今回は以下のようになります。

# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
host    all         all         203.152.221.56/32     md5
host    all         all         133.18.17.111         md5

203.152.221.56 はインタリオ作業場所のIP,133...はクラウドサーバー

2.2 postgresql.conf を編集

自身の持つ全てのIPアドレスをチェックするようにします。 以下の場所を書き換えます。

    #listen_addresses = 'localhost'         # what IP address(es) to listen on;

このようになります。
    listen_addresses = '*'         # what IP address(es) to listen on;

ポート番号ではデフォルトで 5432 です。変更したい場合は以下の行を書き換えて下さい。
#port = 5432                            # (change requires restart)

○ 参考資料:

(インストールしたバージョンに合ったドキュメントを参照して下さい)

3. 自動起動on, サーバースタート

root で以下のコマンドを実行します。

chkconfig postgresql on
service postgresql start

chkconfig の設定は、再起動時に自動起動するための指定です。 service コマンドは、今すぐに起動する指定です。

4. postgresユーザーのパスワード設定

パスワードを wcg0409 にする場合、rootで以下のように入力します。

su - postgres
psql
        ALTER Role postgres PASSWORD 'wcg0409';
        \q
exit
service postgresql restart

5. 外部からアクセステスト

Windows用 pgAdmin III 等でアクセスします。

6. 新しいデータベースを作成

pgAdmin III 又はコマンドラインからデータベースを作成します。

pgAdmin III からの場合は、以下のパラメータを設定します。(意味がわかるようになったら変更して下さい)

ここでは、コーレーションと文字型を含め、名前以外はデフォルトです。

名前:             アルファベットと数値で入力します。
オーナー:         postgres (デフォルト)
エンコーディング: UTF8 (デフォルト)
Template:         指定なし (デフォルト)
テーブル空間:     <初期のテーブル空間>  (デフォルト)
スキーマ制限:     空のまま  (デフォルト)
コーレーション:   ja_JP.UTF-8
文字型:           ja_JP.UTF-8
接続制限数:       -1  (デフォルト)
_images/pgAdminIII.jpg

7. Django など利用アプリの設定をする