PostgreSQL 备份/恢复

3
我不想在备份文件中删除整个表,而只想备份表中的某些记录,以便稍后恢复相同的记录。注意:我想为数据库中的多个表执行相同的操作,但是将它们备份到一个文件中。是否可以实现这一点?如果可以,那么如何操作呢?提前感谢您的帮助。
4个回答

2

2
应该可以使用Jailer来实现。

@ZigArt 但我没有使用Java。 - Shirish11

1

sqlquery 创建临时表

sqlquery 可以像 'select columns from table' 这样形成投影。

然后使用 pg_dump 使用 --table 选项转储所有临时表。pgadmin 可以帮助在此处将表转储到单个文件中。

从 pgadmin 恢复所有临时表并在主表上运行 INSERT 查询。


是的。pg_dump --host 主机名 --port 端口号 --username "用户名" --format custom --verbose --file "文件名" --table "模式名.临时表名" "数据库名" - smitrp
你试过了吗? 因为我出现了错误,显示“找不到匹配的表”。 - Shirish11
检查在pg_dump参数中是否将表名给出为schemaname.tablename。 - smitrp

0

正如@Pondlife在他的回答中提到的那样,我必须使用COPY命令,但未解决将所有转储数据放入单个文件的问题。因此,根据Craig Ringer的建议,为每个表创建单独的文件,并将所有文件压缩到单个归档文件中。
对于还原,需要解压缩存档以生成单独的文件,然后使用它们来还原表。

不得不回答自己的问题,以便可以帮助某些人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接