我是一个学习Postgresql的开发人员,我想了解更多关于备份的知识。
作为长期使用Server的用户,我理解备份和恢复通常是在数据库级别上进行的.
到目前为止,我为Postresql (除了pg_dump)所看到的每一个工具-- barman、seems、wal、pgbackrest等等--似乎都是在集群范围内工作。这是如何工作的呢?
如果我在集群中有20个数据库,并且部署了一个带有bug的应用程序,那么如何仅恢复一个损坏的DB呢?这有可能吗?
发布于 2020-04-08 07:43:51
除了逻辑备份工具pg_dump之外,所有其他工具都是物理备份工具,并从集群和事务日志(WAL)复制所有数据库文件。AFAIK目前无法对单个数据库进行物理备份。
如果需要从物理备份中还原单个数据库,则需要将整个集群范围的备份还原为临时实例,并使用pg_dump/pg_restore将单个数据库从临时集群还原到原始集群。
发布于 2020-06-17 13:25:55
有一个名为第三方免费工具的pg_probackup (尽管它来自为Postgres服务的公司),它允许从集群中恢复特定的数据库。
据我所知,备份操作仍然在集群级别上工作。我应该去看看
https://dba.stackexchange.com/questions/264554
复制相似问题