我的一位客户最近将 CRM 产品从 MS SQL 迁移到 PostgreSQL。我有一个关于如何使用 pg_dump.exe 进行数据备份的问题
到目前为止,在 MS SQL 中,当备份开始时,数据库会被赋予一个“时间戳”,并且在给定时刻执行数据库复制,无论在一个小时的数据备份期间是否有新数据添加到数据库中。只是一个副本,在选定的初始时刻也是如此,并且该副本在那一刻是连贯的。
至少我是这样理解这个过程以及如何描述它的。如果我错了,你可以验证我的知识。如果我是对的,请告诉我这个“能力”叫什么。
现在让我们转向 PostgreSQL。数据复制也一样吗?
我的意思是,如果数据备份过程在午夜开始并需要大约一个小时,是否可以开始使用 CRM,例如,在开始备份后一分钟,或者是否必须推迟进行更改,直到备份完成。完全的?
pg_dump 生成的数据对应于备份开始时数据库的状态,并且不受备份期间发生的更改的影响。来自pg_dump 的文档:
原因是完整转储是在单个
REPEATABLE READ
事务中执行的。