我不知道为什么失败了。
下面是数据文件lineitem.tbl中的部分数据
1|155190|7706|1|17|21168.23|0.04|0.02|N|O|1996-03-13|1996-02-12|1996-03-22|DELIVER IN PERSON|TRUCK|egular courts above the|
1|67310|7311|2|36|45983.16|0.09|0.06|N|O|1996-04-12|1996-02-28|1996-04-20|TAKE BACK RETURN|MAIL|ly final dependencies: slyly bold |
1|63700|3701|3|8|13309.60|0.10|0.02|N|O|1996-01-29|1996-03-05|1996-01-31|TAKE BACK RETURN|REG AIR|riously. regular, express dep|
1|2132|4633|4|28|28955.64|0.09|0.06|N|O|1996-04-21|1996-03-30|1996-05-16|NONE|AIR|lites. fluffily even de|
1|24027|1534|5|24|22824.48|0.10|0.04|N|O|1996-03-30|1996-03-14|1996-04-01|NONE|FOB| pending foxes. slyly re|
1|15635|638|6|32|49620.16|0.07|0.02|N|O|1996-01-30|1996-02-07|1996-02-03|DELIVER IN PERSON|MAIL|arefully slyly ex|
2|106170|1191|1|38|44694.46|0.00|0.05|N|O|1997-01-28|1997-01-14|1997-02-02|TAKE BACK RETURN|RAIL|ven requests. deposits breach a|
3|4297|1798|1|45|54058.05|0.06|0.00|R|F|1994-02-02|1994-01-04|1994-02-23|NONE|AIR|ongside of the furiously brave acco|
字符串
这是我的瞄准表
Partitioned table "public.lineitem"
Column | Type | Collation | Nullable | Default
-----------------+-----------------------+-----------+----------+---------
l_orderkey | bigint | | |
l_partkey | integer | | |
l_suppkey | integer | | |
l_linenumber | integer | | |
l_quantity | double precision | | |
l_extendedprice | double precision | | |
l_discount | double precision | | |
l_tax | double precision | | |
l_returnflag | character(1) | | |
l_linestatus | character(1) | | |
l_shipdate | date | | |
l_commitdate | date | | |
l_receiptdate | date | | |
l_shipinstruct | character(25) | | |
l_shipmode | character(10) | | |
l_comment | character varying(44) | | |
型
我在数据库中使用了follow命令
COPY public.lineitem FROM '/tmp/lineitem.tbl' WITH delimiter '|' csv;
型
误差
psql: ERROR: extra data after last expected column
型
我做了以下工作
- 检查分隔符:确保“|“字符始终用作数据文件中的列分隔符,并且没有多余或丢失的分隔符。
- 数据格式:验证每个字段是否由“|“字符,并且数据中没有丢失或多余的字段。
我想知道怎么补救。
1条答案
按热度按时间yxyvkwin1#
正如@Adrian Klaver评论的那样,尾随的“|'是错误的原因,删除后成功。
这个数据是由
TPC-H
dbgen工具生成的。为了避免行尾的拖尾,我发现当我们在dbgen制作过程中添加-DEOL_HANDLING
标志时。