我们可以做一个特定 PostgreSQL 数据库的 PITR 吗

sac*_*iee 0 postgresql restore

我是 PostgreSQL 的新手,所以如果我的问题听起来很愚蠢,请忽略。

想象一下,我们在 PostgreSQL 中有三个数据库,TRUNCATE一个小时前有人错误地在其中一个数据库上运行了一个命令。现在我们想单独为那个数据库做一个 PITR,因为只有一个数据库有问题。

在 PostgreSQL 中是否可以为一个特定的数据库执行 PITR 或者它只能在实例级别发生?

我阅读了持续存档和时间点恢复 (PITR)的文档。看起来它只能在实例级别完成(我猜我们在 PostgreSQL 世界中将实例称为“数据库集群”,我来自 SQL Server 世界)。

与普通文件系统备份技术一样,这种方法只能支持整个数据库集群的恢复,而不是一个子集。

如果 PITR 在 DB 级别是不可能的,那么 Prod DBA 如何处理这种情况?

还有最后一件事,我有一个带有多个数据库的测试服务器,如果 PITR 在数据库级别是可能的,那么请分享我的步骤,以便我可以自己测试它。

我主要对支持的 Postgres 版本感兴趣。我的测试服务器是 PostgreSQL 9.6.16。

Col*_*art 5

在另一台服务器上恢复您的备份。执行时间点恢复。导出您感兴趣的数据/表并将它们导入您的生产数据库。

这通常是如何完成的。您不想丢失所有其他数据,而是从另一台服务器上的还原中挑选您需要的数据。