PostgreSQL:仅在数据不存在时恢复数据

2sbarzqh  于 5个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(53)

我将一个表的数据转储到一个.tar文件中,并将其恢复到不同数据库上的同一个表中。

C:\Program Files\PostgreSQL\12\bin\pg_dump.exe --file "C:\\SQL_ST~1\\pg_dump.tar" --host "localhost" --port "5432" --username "postgres" --no-password --verbose --format=c --blobs --data-only --table "runtime.batches" "sdm_kunde"

个字符
问题是数据库中存储了几乎相同的信息,由于其中一个列上的唯一约束,这与恢复冲突。是否有一种方法可以只恢复目标数据库中不存在的数据?

68bkxrlz

68bkxrlz1#

如果您的表上有一个主键或唯一约束来标识重复项,则可以

pg_dump --format=custom --inserts --on-conflict-do-nothing --data-only --blobs --table=mytab mydb

字符串
恢复该转储将静默地跳过目标表中已有的行。请注意,大对象将无条件地被替换-但无论如何,您不应该使用大对象。

相关问题