[pgsql-jp: 25107] データを別のテーブルに移行する方法

Jun tec @ j-style.info
2002年 3月 6日 (水) 22:20:14 JST


いつも、勉強させていただいております。
ほとんど初心者なので、非常にくだらない質問かもしれ
ませんが許して下さい。

テーブル(hoge)のデータを、新しく作ったテーブル
(hoge2)に、移行したいと考えています。

シーラカンス本や、オンラインマニュアルを見て、
(1)\copy hoge to /hoge.csv
     でタブ区切りファイルを作り、
(2)\copy hoge2 from /hoge.csv
     で取り込むのが良いのかなと考えました。
(この時点で考え方が間違っていたらすみません。)

(1)を実行し‘Successfully copied.’のメッセージ
を確認。

しかし出来上がったタブ区切りファイルを見ると、20数
行ある行のうち、3行だけが途中で切れています。(何
回やっても同じ行、同じ箇所が切れます。)

とりあえず、原因がわからないので、別の方法がないか
と考えました。少々強引ですが、
(3)psql -c "select * from hoge" -o hoge.csv
をつくり、Excelでタブ区切りファイルに変換しました。
(出来上がったファイルは正常に見えます。)

で(2)を実行しようとしたところ、データがあるにも
関わらず、(1)で切れていたのと同じ行で

ERROR:  copy: line 13, pg_atoi: error in "実際の文
字列": can't parse "実際の文字列"

となります。

見た目では、全く問題なさそうなのに…。仕方なく、
(1)で問題だった3行と同じデータ(行)を削除すると、
インポートできました。

なぜ、この3行が、おかしな動きをするのか、皆目検討
も付かない状態です。何か問題はあるのでしょうか?

非常に長文になりましたが、よろしくお願いいたします。

-- 
Jun <tec @ j-style.info>




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