postgresql - 无法\复制到具有默认 clock_timestamp 的 postgresql 表中

标签 postgresql

我的表有一个名为“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/

相关文章:

sql - Postgres - 在转义双引号内转义双引号

java - Hibernate:持续存在数据问题

postgresql - Postgres : How to verify which certificate is being used for SSL

mysql - 数据类型为日期的索引列

java - 使用 jOOQ 使用正确的类型转换从 values() 中选择插入

sql - Postgres CLI 查询未执行

python - 将 connection_factory 指定给 SQLAlchemy 的 create_engine()

c++ - 从 PostgreSQL DB 和 Linux 转移 C/C 中的时间戳?

postgresql - postgres查询(不止功能)

java - Webflux postgresql