サイド上背景

サイトについて

リンクフリー

個人ご利用の場合はリンクフリーです。備忘録等に各種ドキュメントへのリンク。ご自由にご利用ください。

転載

出典元表記(当社名orリンク記載)の際は転載等ご自由にご利用ください。

ライセンス

このページの内容の一部は、Google が作成、提供しているコンテンツをベースに変更・複製したもので、クリエイティブ・コモンズの表 示 3.0 ライセンスに記載の条件に従って使用しています。

株式会社 Sola.com

ソラコムお問い合わせ

〒981-0913
宮城県仙台市青葉区昭和町3-7 スカイコート上杉601
TEL:022-234-9972
Fax:022-778-6779

きょうのことば

" 子曰く、過ちて改めず、是れを過ちと謂う "

"孔子"


コンテンツ背景
Home 技術ドキュメント Linux操作 Cent OS5でPostgres8.3.xへ対応(yum&rpm)
Cent OS5でPostgres8.3.xへ対応(yum&rpm)
作者: 代表取締役 高橋洋人   

Cent OS5でPostgres8.3.xを対応させる

 Cent OSではPostgres RPMが8.3未満なので最新版に対応させたい時は、以下のようにカスタム手順を踏んで対応します。

CentOS用のRPMパッケージを取得

wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm

RPMインストール

rpm -ivh  pgdg-centos-8.3-6.noarch.rpm

RPMデータベースを変更し、以前のバージョン管理情報から外す(exclude)

vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*


#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
exclude=postgresql*

以前のパッケージがないか探す&ある場合は削除する

(簡単な方法:一括削除)

rpm -qa | grep postgres | xargs rpm -e

しかし以下の問題が出た…
specifies multiple packages

概要としては「同じ名前で重複するパッケージが登録されている」ためのエラー。
いつどこでか分からないけど、おそらく運用上の過程で重複してRPMデータベースに入ってしまったものと思われます。
こういう時は、以下のオプションを付けて、削除を実行。

rpm -e --allmatches postgres****

全て一致したものを削除します。

yum updateを実行

yum -update

すると、新しいバージョンのインストール確認画面が出てきます。
当社サーバはすべて、cPanelにより管理をしているので、ここではやらず、念のためcPanelのPostgresインストールスクリプトを起動させ、そちらでインストールさせます。
※管理ソフトを使われていない場合は、update画面でそのまま「y」&enterでインストールさせます。

cPanel環境でのカスタム設定

①.WHMよりpostgres configをすべて実行
※これをしないと、cPanelからの処理の一部が機能しなくなります。

②.設定ファイルを編集
・/var/lib/pgsql/data/pg_hba.conf
=>環境と仕様によっては、すべての「ident sameuser」の書いてあるラインをコメントアウトする必要がある。

・var/lib/pgsql/data/postgresql.conf
=>旧来バージョンだとtcp&ip接続の許可を設定したり、port5432の許可などをして、再起動が必要。

②がしっかりしていないと、phpPgAdminからのアクセスができない場合もあります。

 

最後に、従来のバージョンを運用していた場合の補足

 従来のバージョンを動作させていた場合、以上が完了しても「データの内容が以前のもので、起動できませんよ」というエラーが出ます。
その場合は、


mv /var/lib/pgsql/data /var/lib/pgsql/data.7.x.x


などと、古いデータはリネームしておきます。

その後、起動前に

/etc/ini.d/postgresql initdb

とし、初期化をした後に起動させます。