[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 メーリングリストの案内