具有一个挂载点的 Docker 多 postgres 容器

问题描述

我有两个 Postgres 数据库,我想在主题之间同步数据。

目前我有这两个容器,完全一样,只是帖子不同,名字不同。

docker container run --name='p1' -d -p 5435:5432 -v /tmp/dbs/test/:/var/lib/postgresql/data postgres


docker container run --name='p2' -d -p 5436:5432 -v /tmp/dbs/test/:/var/lib/postgresql/data postgres  

问题发生时发生了变化。

如果我在 p1 中改变了一些东西,比如插入一行,那么我在 p2 中看不到它。

但是如果我杀死并再次运行容器,那么我可以在两个主题中看到插入的数据。

为什么会这样?
有没有办法在主题之间同步数据?

解决方法

在同一个文件上运行两个 postmaster 进程肯定会导致数据损坏。不要那样做。

您不能使用标准 PostgreSQL 进行多主复制,但您可以拥有只读备用服务器。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...