postgresql - 将 PostgreSQL 数据恢复到现有数据库中

标签 postgresql

当然,现在的情况是我需要尽快找到解决方案。

我有一个正在生产的数据库,其中我不小心运行了一个脚本,该脚本删除了我不想删除的记录。值得庆幸的是,在这样做之前我已经将数据备份为 *.sql 文件。因此,我可以在我的开发环境中操作它,以仅获取数据,甚至从 pg_dump 获取转储文件。

每当我尝试使用 pg_restorepsql 导入文件时,它似乎不会导入丢失的行。它会抛出许多错误,这是我所期望的,因为它有重复的数据。但我不关心重复的数据;我希望将非重复数据放回到数据库中。

有人知道如何做到这一点吗?

最佳答案

pg_dump 带有 --inserts。这将为您提供一个带有单独行插入的脚本,而不是单个 COPY 语句。

在启用AUTOCOMMIT(默认设置)的情况下运行脚本。

关于postgresql - 将 PostgreSQL 数据恢复到现有数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49285966/

相关文章:

postgresql - 向 postgres 添加更多索引会导致 "out of shared memory"错误

postgresql - View 和带有继承的分区之间的区别

asp.net-mvc - Asp.net MVC4、PostgreSQL 和 SimpleMembership

postgresql - PostgreSQL 中的 MongoDB Capped 集合等价物

python - SQLAlchemy:如何过滤 PgArray 列类型?

arrays - PostgreSQL 检查表中是否存在所有代理 ID

postgresql - Docker-Compose + Postgres :/docker-entrypoint-initdb. d/init.sql:权限被拒绝

oracle - 将 rownum 从 Oracle 转换为 Postgres

postgresql - 如何索引 jsonb 整数值

sql - PostGIS:将线串转换为线串 ZM