ページへ戻る

− Links

 印刷 

Gentoo Linuxな生活​/PostgreSQLのアップデートで悩む のソース :: Nest Of Hawk

xpwiki:Gentoo Linuxな生活/PostgreSQLのアップデートで悩むのソース

« Prev[3]  
*DBのアップデートは、とても難しい。 [#ja361015]
多分、重要なデータを管理するようなソフトウェアを作っている人達には常識なのですが、アップデートってとても困難なんですよね。特にやっかいなのは、旧システムで動いていたデータを、新システムに移行するとき。旧→新システム用にデータを変換しないといけないのですよ。GentooにおけるPostgreSQLの場合はどうやってやるのか、と。まとめておきまーす。

*順を追って行きましょう。 [#s7b9118e]
**データベース内のデータをバックアップする [#t33336bb]
まずは、pg_dumpallコマンド使用して、SQL形式でダンプいたします。

 # cd /var/lib/postgresql/8.4/data
 # vi pg_hba.conf
 local   all         all                               trust
この行を追加して、
 # /etc/init.d/postgresql-8.4 restart
それから、pg_dumpallコマンドを使用して、SQL形式ダンプを作ります。
 # su postgres
 postgres@localhost ~ $pg_dumpall > pgsql.sql

**アップデートパッケージのインストール [#f06decc5]
 # emerge --newuse -vuD world

**アクティブなPostgreSQLを切り替える [#y0e59d8f]
まず、動いているPostgreSQLを止め、eselectコマンドで切り替えます。
 # /etc/init.d/postgresql-8.4 stop
 # eselect postgresql list
 Available postgresql installations
  8.4 <-* <-S           base-8.4.5 server-8.4.5
  9.0                        base-9.0.3 server-9.0.3
こんな感じね。これを切り替えましょー。
 # eselect postgresql set-all 9.0
 # eselect postgresql list
 Available postgresql installations
  8.4                    base-8.4.5 server-8.4.5
  9.0 <-* <-S        base-9.0.3 server-9.0.3
 # eselect postgresql update
はい。これで、アクティブなPostgreSQLのバージョンが、8.4から9.0に切り替わりました。次は新しいPostgreSQLにデータを突っ込みます。
**新しいPostgreSQLにデータを突っ込む [#a8c02c8f]
まずはデータベースの初期化。そして起動後psqlでやす。
 # emerge --config =dev-db/postgresql-server-9.0.3
 # /etc/init.d/postgresql-9.0 
 # psql -f pgsql.sql template1

**PostgreSQLをコンフィギュレーションしておく [#f9d4a62c]
とりあえず、アクセス権限だけは必要かなーと。
 # cd /var/lib/postgresql/9.0/data
 # vi pg_hba.conf
アクセス権限は適宜に設定してやってね

**PostgreSQLを再起動/動作確認 [#w552261b]
 # /etc/init.d/postgresql-9.0 restart
 # /etc/init.d/apache2 restart
私は、Davicalにしか使ってないので、apacheも再起動しないと有効にならないの。で、動作確認をしてみます。上手くデータが読み込めるかな~。

**古いパッケージを消す [#led1b928]
 # emerge --depclean

*終了! [#k88e50fd]
いや~、なかなか大変ですね~。でも、これで手順が確立できましたよっ♪次からは安心かなっ♪

« Prev[3]