无法使用带复制命令的平面文件将数据插入到postgresql表中

时间:2017-11-05 02:43:10

标签: postgresql

我的表结构是

company=# \d address
            Table "public.address"
  Column  |         Type          | Modifiers
----------+-----------------------+-----------
 name     | character varying(80) |
 age      | integer               |
 dob      | date                  |
 village  | character varying(8)  |
 locality | character varying(80) |
 district | character varying(80) |
 state    | character varying(80) |
 pin      | integer               |

我在平面文件(* .txt文件)中有以下数据。

insert into address(name,age,dob,village,locality,district,state,pin) 
values('David',43,'1972-10-23','Elchuru','Addanki','Prakasam','AP',544421);
insert into address(name,age,dob,village,locality,district,state,pin) 
values('George',53,'1962-10-23','London','London','LN','LN',544421);
insert into address(name,age,dob,village,locality,district,state,pin) 
values('David',28,'1982-10-23','Ongole','Ongole','Prakasam','AP',520421);

现在我正在尝试使用以下查询i psql shell加载到我的表'address'。

copy address from 'C:/P Files/address_data.txt';

错误是:

company=# copy address from 'C:/P Files/address_data.txt';
  

错误:类型字符变化的值太长(80)   背景:COPY地址,第1行,列名:“插入地址(姓名,年龄,dob,村庄,地区,地区,州,地区)值('David',43,'1972-10-23'...... “

请建议在上述查询中进行修改

1 个答案:

答案 0 :(得分:1)

您没有数据文件。你有一个包含一组命令的文件。

您可以使用psql command执行插入。

数据文件看起来更像是这样:

David,43,1972-10-23,Elchuru,Addanki,Prakasam,AP,544421
George,53,1962-10-23,London,London,LN,LN,544421
David,28,1982-10-23,Ongole,Ongole,Prakasam,AP,520421