我的表有一个名为“created”的 NOT NULL 列,使用 DEFAULT CLOCK_TIMESTAMP()。我故意从中复制的 CSV 文件没有名为“已创建”的列,因为我希望数据库为其使用默认值。我的复制命令是:
\copy table_name from '/local/path/to/file.csv' delimiter ',' CSV HEADER
我收到的错误是:
missing data for column "created_"
PostgreSQL 文档说:“如果表中有任何列不在列列表中,COPY FROM 将为这些列插入默认值。”
感谢您的帮助
最佳答案
线索在“不在列列表中”。
您需要指定“列列表”才能正常工作,并省略具有默认值的列表:
\copy table_name (column1, column2, ...) from '/local/path/to/file.csv' delimiter ',' CSV HEADER
关于postgresql - 无法\复制到具有默认 clock_timestamp 的 postgresql 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917781/