postgreSQL7.2とnkfのこと


postgresql7.2 のリストアでハマッたので φメモメモ…

リストア時に

psql:./dump.txt:5370: ERROR:  copy: line 102, CopyReadAttribute: end of record marker corrupted
psql:./dump.txt:5370: lost synchronization with server,resetting connection

なんてエラーが出ちゃいました。



まったく意味が分からなかったのですが、ググレカス先生に聞いているうちに

「データが途中で壊れてるからリストアできません。ついでに接続も切っておきました。」 という翻訳が浮かびました。
しかし、エディタで見てもおかしなところは見当たりません。が
改行がCRLFだったのでWindows上で愛用のエディタでLFに変更して再リストア。

・・・失敗しました。

サーバーで作業してみることにしました。
http://sourceforge.jp/projects/nkf/ から nkf をダウンロード

tar zxvf nkf○○○.tar.gz
cd ./nkf○○○
make

インストールはしてくれないみたいなので

cp ./nkf /usr/bin/

dump.txt を CRLF から LF に変換。

nkf -Lu dump.txt > dump_lf.txt

改行コードを変更したら文字コードが ISO??? になっていてリストア失敗したので EUC に変換。

nkf -e dump_lf.txt > dump_lf_euc.txt

流してみる。

psql -d test -f dump_lf_euc.txt

無事データが入りました。

タグ: , , ,

コメントをどうぞ