我不想在备份文件中删除整个表,而只想备份表中的某些记录,以便稍后恢复相同的记录。注意:我想为数据库中的多个表执行相同的操作,但是将它们备份到一个文件中。是否可以实现这一点?如果可以,那么如何操作呢?提前感谢您的帮助。
从 sqlquery 创建临时表
sqlquery 可以像 'select columns from table' 这样形成投影。
然后使用 pg_dump 使用 --table 选项转储所有临时表。pgadmin 可以帮助在此处将表转储到单个文件中。
从 pgadmin 恢复所有临时表并在主表上运行 INSERT 查询。
正如@Pondlife在他的回答中提到的那样,我必须使用COPY
命令,但未解决将所有转储数据放入单个文件的问题。因此,根据Craig Ringer的建议,为每个表创建单独的文件,并将所有文件压缩到单个归档文件中。
对于还原,需要解压缩存档以生成单独的文件,然后使用它们来还原表。
不得不回答自己的问题,以便可以帮助某些人。