トップページに戻る


PostgreSQL 9.0の導入
最終更新日:2012.04.27

各rpmファイルのダウンロード

以下のサイトでPostgreSQL 9.0の最新パッケージを確認します(2013/4/21時点の最新は9.0.13)。
http://www.pgrpms.org/rpmchart.php

パッケージをダウンロードする

# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-9.0.13-1PGDG.rhel5.x86_64.rpm
# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-server-9.0.13-1PGDG.rhel5.x86_64.rpm
# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-devel-9.0.13-1PGDG.rhel5.x86_64.rpm
# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-docs-9.0.13-1PGDG.rhel5.x86_64.rpm
# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-libs-9.0.13-1PGDG.rhel5.i386.rpm
# wget http://www.pgrpms.org/9.0/redhat/rhel-5-x86_64/postgresql90-libs-9.0.13-1PGDG.rhel5.x86_64.rpm

rpmコマンドでインストール

rpmコマンドで以下の順で各種インストールします

# rpm -ivh postgresql90-libs-9.0.13-1PGDG.rhel5.i386.rpm
# rpm -ivh postgresql90-libs-9.0.13-1PGDG.rhel5.x86_64.rpm
# rpm -ivh postgresql90-9.0.13-1PGDG.rhel5.x86_64.rpm
# rpm -ivh postgresql90-server-9.0.13-1PGDG.rhel5.x86_64.rpm
# rpm -ivh postgresql90-devel-9.0.13-1PGDG.rhel5.x86_64.rpm
# rpm -ivh postgresql90-docs-9.0.13-1PGDG.rhel5.x86_64.rpm

依存関係を解決するため、postgresql90-libsをまず導入してください。
アップデートする場合もまずライブラリの更新が必要です。

データベースの初期化を実行

# service postgresql-9.0 initdb
データベースを初期化中:                                    [  OK  ]

PostgreSQL 9.0の起動

# service postgresql-9.0 start
postgresql-9.0 サービスを開始中:                           [  OK  ]

サービスの自動起動設定

# chkconfig postgresql-9.0 on

動作確認

試しにちょっと動かしてみましょう。デフォルトのデータベースリストが表示されれば成功です。

# su - postgres
-bash-3.2$
-bash-3.2$ psql -l
                              データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |
-----------+----------+------------------+-------------+-------------------+-
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |

(3 行)

パッケージのアップデート

rpmパッケージを手動インストールした場合、パッケージが更新されても新しいパッケージに自動更新されないので注意が必要です。
新しいパッケージがあったらwgetでダウンロードしてrpm -Uvhでパッケージ更新します。

# wget "新しいPostgreSQL9.0のパッケージ"
# rpm -Uvh "ダウンロードしたPostgreSQL9.0のパッケージ"

ファイアウォール

PostgreSQLサーバーを外部サーバーと接続するには、ファイアウォールでTCP/5432ポートを開ける必要があります(system-config-securitylevelでポート開放する場合は「その他のポート」に「5432:tcp」と入れる)。

初期設定

PostgreSQLサーバーを外部の端末からアクセスしてクエリを発行する場合は、デフォルトの設定から変更する必要があります。
どの端末からリモートアクセスできるかの設定をpg_hba.confに行い、PostgreSQLのチューニングやログ、その他様々な設定をpostgresql.conflisten_addressパラメータで行うと、PostgreSQLサーバーに外部クライアントからアクセスできるようになります。本番運用をされる場合はセキュリティについて考慮してください。
どちらのファイルもservice postgresql initdbを実行すると、/var/lib/pgsql/data/という場所に保存されます。