Try and Error and Error このページをアンテナに追加 RSSフィード

2011-08-22

CentOS 5.6 へ PostgreSQL 9.0 の RPM をインストール

2010/09/20に正式リリースされた PostgreSQL9.0 ですが、さまざまな機能強化・追加がされているようです。
SRA OSS, Inc. 日本支社様のページにリリースノートを元にした各機能の解説等が記載されておりましたので参考にリンクを記載させていただきました。
PostgreSQL 9.0 に関する技術情報

今回は CentOS5.6 へ PostgreSQL9.0 を RPMインストールしてみました。
PostgreSQL9.0 系での新機能についての検証等は全く行っておりません。


[環境]
さくらのVPS512環境
OSCentOS 5.6 i386
インストール対象PostgreSQLのバージョン
バージョン:PostgreSQL 9.0.4 (RPMパッケージ)

<pgdg リポジトリのインストール>
CentOS の標準リポジトリには PostgreSQL 9.0 の RPM パッケージは存在しないので、まず、pgdg のリポジトリインストールします。

# rpm -ivh http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
Retrieving http://www.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
Preparing... ########################################### [100%]
1:pgdg-centos ########################################### [100%]


<各リポジトリの設定>
pgdg リポジトリは、CentOS リポジトリにあるものと同じパッケージも含んでいるようです。
そのため各リポジトリの Priorities 設定をしておきます。

pgdg リポジトリ [pgbg90] を CentOSリポジトリ [base] や [updates] より Priorities を下げておく必要がありますが、PostgreSQL 系のパッケージに関しては pgdg リポジトリ [pgbg90] からインストールさせる必要があります。
そのため、以下のように 'postgresql' という文字から始まるパッケージに関しては CentOSリポジトリからインストールされないように除外する設定をしておきます。
# vi /etc/yum.repo.d/CentOS-Base.repo
・・・
[base]
・・・
priority=1
exclude=postgresql*

[updates]
・・・
priority=1
exclude=postgresql*


さらに pgdg リポジトリ [pgdb90] の Priority を CentOSリポジトリより下げておきます。
# vi /etc/yum.repo.d/pgdg-90-centos.repo
[pgdg90]
・・・
priority=2


これでリポジトリの設定は完了です。

<PostgreSQL9.0のインストール>
yumインストールします。
# yum install postgresql90.i386 postgresql90-server.i386 postgresql90-libs.i386
(中略)
Installed:
postgresql90.i386 0:9.0.4-1PGDG.rhel5
postgresql90-libs.i386 0:9.0.4-1PGDG.rhel5
postgresql90-server.i386 0:9.0.4-1PGDG.rhel5

Complete!


<PostgreSQL9.0の自動起動設定>
OS起動時に自動的にPostgreSQL9.0を起動するように設定します。
# chkconfig postgresql-9.0 on

# chkconfig --list postgresql-9.0
postgresql-9.0 0:off 1:off 2:on 3:on 4:on 5:on 6:off


<PostgreSQL9.0の起動>
インストールした Postgresql の起動手順は以下の通りです
RPM パッケージなので、service コマンドを使い、まずは DB初期化したうえで、起動させます。
# chkconfig postgresql-9.0 on

# service postgresql-9.0 initdb
Initializing database: [ OK ]
# service postgresql-9.0 start
Starting postgresql-9.0 service: [ OK ]


<接続確認>
DB への接続確認をしておきます。
初期状態ではOS上の postgres ユーザでしか接続できないので postgres ユーザへスイッチして接続します。
RPMパッケージでインストールした場合は自動的にpostgresユーザが作成されます。
# su - postgres


psql コマンドを使ってPostgreSQLの postgres ユーザで接続します。
$ psql -U postgres
psql (9.0.4)
Type "help" for help.

postgres=#


これで Postgresql9.0.4 のインストールが完了です。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/daislog/20110822/1314023343