[pgsql-jp: 36498] 7.3系から7.4系へのDB移行

H.Watabe watabe @ fuji-it.com
2005年 12月 8日 (木) 17:24:25 JST


いつも勉強させて頂いております@渡部です。


本件は販売元に聞くべき事なんでしょうが保守契約してないもので
こちらでご存知の方がいれば教えてください。
本MLの趣旨にそぐわないかなと思いますがご容赦を。


現在PowerGresV.1.5で運用しているDBがあり、年末にV.2.0に移行する
案件がありまして現在検証作業をしています。
PowerGresV2にはGUIな移行ツールが存在するのですが、これを使わないで
コマンドラインのみで検証しています。
(ライセンスが不足していて同PCにV.1.5とV.2.0が同居できていないため)

CUI時の移行手順も書かれている通りに実行はしている(と思う)のですが
エラーが出て移行に失敗しているみたいです。


手順として、
1.V.1.5のダンプを取る
2.V.2.0にリストアする

1のダンプは取れているのですが、2のリストアで失敗しています。
取説の"initdbでDBフォルダを作成し、postmasterを起動してリストアして
いく"・・・という部分が自分的に上手く出来ていないのかなと思われます。
この時の自分の操作手順を説明しますと、以下の様になります。


a.1つめのコマンドプロンプト起動し、initdbする。
  > initdb -D d:\data -E EUC_JP

  すると、下記メッセージが表示されるので、そのまま実行しています。
   Success. You can now start the database server using:
   "C:/Program Files/PowerGres2/bin"/postmaster -D "d:/data2"

b.postmasterの起動
  起動すると下記メッセージが出て待機状態になります。
	LOG:  database system was shut down at 2005-12-08 07:10:37 GMT
	LOG:  checkpoint record is at 0/9B2BBC
	LOG:  redo record is at 0/9B2BBC; undo record is at 0/0;
	shutdown TRUE
	LOG:  next transaction ID: 456; next OID: 17142
	LOG:  database system is ready

c.次に2つめのコマンドプロンプト起動し、リストアしていきます。
  > psql -h localhost -U postgres -p 5432 -f dump1.dmp template1

  すると、以下のようになり終了します。
	You are now connected to database "template1".
	DELETE 0
	CREATE USER
	CREATE USER
	CREATE USER
	DELETE 0

  > pg_restore -h localhost -U postgres -p 5432 -C -d template1 dump2.dmp

  すると、以下のようになり終了します。

	pg_restore: NOTICE:  CREATE TABLE will create implicit sequence
	  "_db_version_tbl_seq_seq" for "serial" column "_db_version_tbl.seq"
	pg_restore: ERROR:  invalid byte sequence for encoding "EUC_JP":
	  0x8341
	CONTEXT:  COPY patient_tbl, line 1, column patients_name_phonogram: 
	  "テスト"
	pg_restore: [archiver (db)] error returned by PQendcopy



長文にお付き合いして頂き有難う御座いました。


自分的には全く訳が判らず困ってます(まだまだ修行が足りないって事ですか)。
もう新規にライセンスを取得しGUIツールで移行するしかないのかなと思案中です。
どこが悪いんでしょうか・・・?


-+-+-+-+-+-+-+-+-+-+-+-+-+-
watabe : com.fujiit




pgsql-jp メーリングリストの案内