当然,现在的情况是我需要尽快找到解决方案。
我有一个正在生产的数据库,其中我不小心运行了一个脚本,该脚本删除了我不想删除的记录。值得庆幸的是,在这样做之前我已经将数据备份为 *.sql
文件。因此,我可以在我的开发环境中操作它,以仅获取数据,甚至从 pg_dump
获取转储文件。
每当我尝试使用 pg_restore
或 psql
导入文件时,它似乎不会导入丢失的行。它会抛出许多错误,这是我所期望的,因为它有重复的数据。但我不关心重复的数据;我希望将非重复数据放回到数据库中。
有人知道如何做到这一点吗?
最佳答案
pg_dump 带有 --inserts
。这将为您提供一个带有单独行插入的脚本,而不是单个 COPY 语句。
在启用AUTOCOMMIT
(默认设置)的情况下运行脚本。
关于postgresql - 将 PostgreSQL 数据恢复到现有数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49285966/