PostgreSQL 不选择由 /var/lib/postgresql/data/ 的另一个 PostgreSQL 容器写入的数据

PostgreSQL does not pick data written by another PostgreSQL container at /var/lib/postgresql/data/

我已经设置了两个 postgresql docker 容器来写入 Kubernetes 集群中位于 /var/lib/postgresql/data/ 的挂载的 nfs 卷。

我注意到新更改已正确写入,但一个容器写入的数据不会反映在另一个容器的数据库中。

在删除 pods/containers 并重新创建其他两个容器时,即使数据文件确实存在,新容器也不会反映以前容器数据库中包含的数据库中的数据。

为什么会这样?

简而言之,您不能在 2 个 postgres 实例之间共享文件系统。

将 2 个实例绑定到同一个卷称为共享磁盘故障转移 (ref):第二个实例是备份,只能在第一个实例停止后投入使用。这对绝对不能一起使用,这样做会导致"severe data corruption".

如果您正在寻找加速数据库读/写的方法,请搜索复制和分片。