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

标签 postgresql docker docker-volume data-synchronization

我有两个 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 进行多主复制,但可以拥有只读备用服务器。

关于postgresql - 具有一个挂载点的 Docker 多 postgres 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66997667/

相关文章:

sql - 在 Postgresql 中的时间序列数据中添加缺失的每月日期

node.js - 无法从 Gitlab CI/CD 在 AWS RDS 数据库上运行迁移

docker - tensorflow如何 reshape 一个维度为None的张量,像这样[None,2,2,1]?

java - alpine linux docker 镜像,控制台编码问题

docker - 监视Docker卷可用空间的最佳实践

postgresql - 在 Postgresql 中按 DateTime 的日期分组

SQL 'ab,cd' 与 'cd,ab' 相比为真

docker - 使用docker保留数据库内的数据

Docker Swarm : How to handle persistent data (e. g。数据库)

php - 无需批量处理 “connect”两个Docker容器的最佳方法