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

标签 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);

现在我正在尝试使用以下查询在 psql shell 中加载到我的表“地址”。

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

错误是:

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

ERROR: value too long for type character varying(80) CONTEXT: COPY address, line 1, column name: "insert into address(name,age,dob,village,locality,district,state,pin) values('David',43,'1972-10-23'..."

请建议对上述查询进行修改

最佳答案

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

您可以使用 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

关于postgresql - 无法使用带有复制命令的平面文件将数据插入到 postgresql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47117680/

相关文章:

c# - json_agg() 数组到对象

sql - PostgreSQL:检查数组中的任何项目是否存在于 db 属性中,该属性也是数组

regex - 这个正则表达式中的\\+是什么意思?

python - 用于更新行的 plpython 函数不起作用

django - 在 Django 中查询每个用户每个帖子的最新投票

sql - 关于检查约束空值

node.js - 需要 SSL 连接。请指定 SSL 选项并重试

sql - 从一个表中选择值,其中排除另一个表中的值

Python SQLAlchemy : Reflecting the database breaks default/onupdate methods?

php - PHP 的 Postgresql LIKE 通配符转义