以下のサイトで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 -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 ]
# 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.confのlisten_addressパラメータで行うと、PostgreSQLサーバーに外部クライアントからアクセスできるようになります。本番運用をされる場合はセキュリティについて考慮してください。
どちらのファイルもservice postgresql initdbを実行すると、/var/lib/pgsql/data/という場所に保存されます。