linux - 有谁知道备份 postgres 数据库的好方法?

标签 linux postgresql backup

我有一个脚本可以为 mysql 生成每日轮换备份,但我找不到与 postgres 类似的东西。我还发现它具有在线备份功能,这应该会派上用场,因为这是一个生产站点。

有没有人知道可以帮助我的程序/脚本,或者有什么方法可以帮助我?

谢谢。

最佳答案

一种方法是use pg_dump 生成平面 sql 转储,您可以对其进行 gzip 压缩或其他操作。这当然是最简单的选择,因为结果可以通过管道返回到 psql 以重新加载数据库,并且由于它也可以导出为纯文本,因此您可以先查看或编辑数据必要时恢复。

下一个方法是暂时关闭你的数据库(或者如果你的文件系统支持原子快照,理论上可能有效)和backup你的 PostgreSQL data 目录。

This PostgreSQL 站点的页面还解释了如何进行在线备份和时间点恢复,这绝对是最难配置的方法,但也是最佳方法。这个想法是您通过运行一些特殊的 SQL(pg_start_backuppg_stop_backup)来执行基本备份(您可能每天、几天或一周都这样做)并制作一个(文件系统级)数据库目录的副本。这段时间数据库没有下线,一切照常。从那时起,数据库生成任何更改的预写日志 (WAL),然后可以将其推送(由数据库自动)到您想要的任何位置。要恢复,您需要进行基础备份,将其加载到另一个数据库实例中,然后重放所有 WAL 文件。这样,您还可以通过不重播所有日志来进行时间点恢复。

关于linux - 有谁知道备份 postgres 数据库的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1221282/

相关文章:

linux - 在带有屏幕和 nohup 的 Linux 机器上远程运行脚本在注销后不久被终止

c - 从 ARP 条目获取给定 IP 的 MAC 地址(Linux 内核)

android - 备份我的本地数据库/数据

linux - linux中的三级页表

linux - 在哪里可以找到 PPC64LE 上 SLES 12 的 libstdc++.so.5 32 位版本

ruby-on-rails - 将大量美元值输入到 Rails 货币对象中

ruby-on-rails - 在公寓 gem 中复制租户

php - 使用 Postgresql 的 Symfony 2

mysql - 备份我的WordPress的最佳方法

iOS 文件存储 : Solution for Not Backing Up