【问题标题】:PostgreSQL does not pick data written by another PostgreSQL container at /var/lib/postgresql/data/PostgreSQL 不会在 /var/lib/postgresql/data/ 处选择另一个 PostgreSQL 容器写入的数据
【发布时间】:2019-04-16 18:35:05
【问题描述】:
我已经设置了两个 postgresql docker 容器来写入 Kubernetes 集群中 /var/lib/postgresql/data/ 上的挂载 nfs 卷。
我注意到新的更改写入正确,但一个容器写入的数据不会反映在另一个容器的数据库中。
在删除 Pod/容器并重新创建其他两个容器时,即使数据文件确实存在,新容器也不会反映数据库中包含在先前容器的数据库中的数据。
为什么会这样?
【问题讨论】:
标签:
postgresql
docker
kubernetes
nfs
persistent-volumes
【解决方案1】:
简而言之,你不能在 2 个 postgres 实例之间共享文件系统。
将 2 个实例绑定到同一个卷称为共享磁盘故障转移 (ref):第二个实例是备份,只有在第一个实例停止后才能使用。这对绝对不能一起使用,这样做会导致“严重的数据损坏”。
如果您正在寻找加快数据库读取/写入速度的方法,请搜索复制和分片。