我有一个在 postgres (8.4) 上运行的数据库,我想定期备份部分数据。我们有一些非常重要的数据,需要定期备份以防硬件着火。但同一个数据库包含每个条目的大量二进制数据,这些数据增长非常快(每天很容易超过 1 GB)。现在,这些数据不那么重要了。如果我们丢失了它,当然会很烦人,但这是可以接受的。
有没有简单的方法备份一些我们的表与 postgres,或者我必须手动编写查询来将所有内容复制到某处然后才能对其进行 pgdump?
奖励:如果大二进制表可以只备份最后 X 个条目,那就完美了,但我很确定我必须手动做一些复杂的事情。
答案1
您可以尝试复制命令,但请注意,这对于增量备份来说很糟糕。
另一个(可能更好)选项可能是热备用服务器,您可以关闭它并定期进行(文件系统级)备份 - 这可以让您使用更智能的工具,这些工具可以对数据库表文件进行二进制差异处理,而不必每次备份时都吸收所有内容。
另一个优点是,这样您就可以拥有一条众所周知且得到良好支持的恢复路径 :-)
答案2
我按照 Mark Wagner 的建议使用了 pg_dump 的 --table 选项。