如何防止更改我的 PostgreSQL 数据库?

gue*_*tli 9 postgresql migration pg-dump

我的步骤:

  1. pg_dumpall在服务器上运行 finalprod-server-old
  2. 关掉 prod-server-old永远。
  3. 将输出复制到不同的服务器 ( prod-server-new)
  4. 在那里恢复数据库。
  5. 所有流量都到prod-server-new现在

如何避免在pg_dumpall(step1和step2之间)期间对数据库进行修改,使这段时间的修改不会丢失?

在我的情况下,有一个小的停机时间是 100% 可以的。

“集群”中有几个数据库(顺便说一句,我不喜欢“集群”这个词。我想大多数人认为“集群”是一组多台计算机,但在这种情况下,它指的是一台 Postgres 服务器,其中包含几个数据库)。

我的问题被标记为可能与“使 Postgres 数据库暂时只读(用于执行卷快照)”重复。我不认为它是重复的,因为在我的情况下是不同的,因为我不要求临时只读状态。

gue*_*tli 3

一种解决方法:

更改 PostgreSQL 上的端口prod-server-old。这样,客户端就不太可能在 期间连接到数据库pg_dumpall --port=OTHER_PORT