Docker 具有一个挂载点的多个 postgres 容器
Docker multi postgres containers with one mount point
我有两个 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 进行多主复制,但可以使用只读备用服务器。
我有两个 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 进行多主复制,但可以使用只读备用服务器。