[pgsql-jp: 29665] データが取り込めない
JOKER
currency @ lily.freemail.ne.jp
2003年 4月 18日 (金) 16:26:54 JST
初めまして。
PostgreSQL7.3.2を
使用しております。
症状:テーブルにデータを取り込めない
操作:
データベースクラスタをエンコードEUC_JPにて初期化(initdb -E EUC_JP)
データベーススーパーユーザーにてaddressという名のデータベースを
作成(createdb -E EUC_JP address)
List of databases
Name | Owner | Encoding
-------------+-------+----------
address | pgsql | EUC_JP
template0 | pgsql | EUC_JP
template1 | pgsql | EUC_JP
(3 rows)
その後データベースユーザwwwを登録
ユーザー名www
新規ユーザー作成権限:無し
新規データベース作成権限:無し
ユーザー名wwwにてデータベースに接続、テーブル名customerを作成
List of relations
Schema | Name | Type | Owner
--------+-----------+-------+-------
public | customer | table | www
(テーブル構造)
Table "public.customer"
Column | Type | Modifiers
---------------+---------+-----------
name | text | not null
furigana | text |
postalcode | text | not null
address1 | text | not null
address2 | text |
address3 | text |
telephone | integer | not null
fax | integer |
email | text |
インポートしたいデータをテキストで用意(漢字コードはEUCに設定)
カラム区切りは\t(タブ)。ファイル名はcustomer.txt
(内容)
小泉純一郎(\t)koizumi(\t)100-0001(\t)東京都(\t)千代田区神田1−1
(\t)(\t)0332145687(\t)(\t)koizumi @ kantei.go.jp(\n)
.
.
.
(以下約2万タプル(レコード))
NOT NULL属性カラムは空欄の場合があります。
この後、
\copy customer from customer.txt
を実行すると
WARNING: copy: line XX, pg_atoi: zero-length string
ERROR: copy: line XX, pg_atoi: error reading "": No buffer space
available
lost synchronization with server, resetting connection
と出ます。
該当するXX行目を見ましたが、空のカラムはあるものの、カラムの過不足は
有りませんでした
もしかしてinteger属性のカラムは空欄にしておいてはいけないのでしょうか?
以前のバージョン(7.2.3)ではこのようなことはありませんでした。
この辺りの仕様は変わったのでしょうか?
--
JOKER <currency @ lily.freemail.ne.jp>
pgsql-jp メーリングリストの案内