PerlさんPerlくん
[pgSQL]新旧pgSQLが混在してしまった場合の対処法
最終更新:
atwikimyj
-
view
OSセットアップ時にpgSQLがセットアップされていることを知らずに、新しいバー
ジョンのpgSQLをインストールし、新旧のpgSQLを混在させたまま使用、大混乱、
という状況に陥りましたのでこれを修正します。
ジョンのpgSQLをインストールし、新旧のpgSQLを混在させたまま使用、大混乱、
という状況に陥りましたのでこれを修正します。
OSセットアップ時にすでにインストールされているpgSQLはyumコマンドを利用して
アンインストールできますが、make installでインストールされたpgSQLはおそらく
インストールしたときに使用したソースファイルのあるフォルダに移り
# gmake uninstall
を行います。
アンインストールできますが、make installでインストールされたpgSQLはおそらく
インストールしたときに使用したソースファイルのあるフォルダに移り
# gmake uninstall
を行います。
以下、前者の場合のやり方の説明をします。
- 古いpgSQLがインストールされていないか確認
rpmでインストールされているpgSQLがあればrpmコマンドで確認、さらにアンイン
ストールが可能です。
ストールが可能です。
# rpm -qa | grep postgresql
postgresql-8.1.11-1.el5_1.1 ・・・
出るわ出るわ古いバージョン。こいつがserviceとして動いていたのか。削除する。
#rpm -qa | grep postgresql | xargs rpm -e
エラー: 依存性の欠如:
libpq.so.4 は (インストール済み)apr-util-1.2.7-6.i386 に必要とされていま
こういうメッセージが出た場合はyumを使うと依存するパッケージも削除してくれます。
# yum remove postgresql
結構待ち時間があったけど、アンインストールは完了。
この後再度
この後再度
# rpm -qa | grep postgresql
を実行すると
postgresql-libs-8.1.9-1.el5
postgresql-tcl-8.1.11-1.el5_1.1
が残っていた。さらにpostgresのユーザも消えていてログインできない、、。
ユーザまで消すのだろうか、、。その後またログイン可能に。何なんだ。
アンインストールが終了したので、bashrcを書き換える。
その記述内に後でインストールしたpgSQL8.3.1のバイナリファイルがある場所を
指定する。これでinidbやpg_ctlで起動するのはpgSQL8.3.1となる。
postgresql-libs-8.1.9-1.el5
postgresql-tcl-8.1.11-1.el5_1.1
が残っていた。さらにpostgresのユーザも消えていてログインできない、、。
ユーザまで消すのだろうか、、。その後またログイン可能に。何なんだ。
アンインストールが終了したので、bashrcを書き換える。
その記述内に後でインストールしたpgSQL8.3.1のバイナリファイルがある場所を
指定する。これでinidbやpg_ctlで起動するのはpgSQL8.3.1となる。