PostgreSQL COPY ON_ERROR
PostgreSQL 17 对 COPY 命令做了一个优化,导入数据(COPY FROM)时可以忽略错误字段进而使得 COPY 命令继续导入后面的数据。虽然是很小的一个特性,但非常实用。 cat << EOF > /tmp/malformed_data.txt 1 {1} 1 a {2} 2 3 {3} 3333333333 4 {a, 4} 4 5 {5} 5 EOF 之前在用 COPY 导入数据时,如果文件中有不符合类型的字段,命令直接报错退出: postgres=# CREATE TABLE check_ign_err (n int, m int[], k int); CREATE TABLE postgres=# copy check_ign_err from '/tmp/malformed_data.txt'; ERROR: invalid input syntax for type integer: " a" CONTEXT: COPY check_ign_err, line 2, column n: " a" postgres=# table check_ign_err; n | m | k ---+---+--- (0 rows) PostgreSQL 17 增加了如下语法:...