首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在postgresql docker容器中运行pg_rewind

如何在postgresql docker容器中运行pg_rewind
EN

Stack Overflow用户
提问于 2020-09-10 06:10:49
回答 1查看 107关注 0票数 0

我也有同样的问题。使用官方的PostgreSQL docker镜像在docker容器中运行postgresql复制集群,现在正在尝试一种进行故障转移的方法。

在不停止PostgreSQL服务的情况下,对上一个主容器运行pg_rewind时,会出现以下故障:

代码语言:javascript
复制
pg_rewind: fatal: target server must be shut down cleanly

但是如果我运行:

代码语言:javascript
复制
docker exec <container-name> pg_ctl stop -D <datadir>

由于重启策略unless-stopped,容器被重启。

EN

回答 1

Stack Overflow用户

发布于 2020-09-10 07:51:47

我自己找到了答案。

只需停止现有容器,并使用相同的镜像和卷挂载在新容器中运行命令,如下所示:

代码语言:javascript
复制
docker run -it --rm --name pg_rewind --network=host \
--env="PGDATA=/var/lib/postgresql/data/pgdata" \
--volume=/var/lib/postgresql/data:/var/lib/postgresql/data:rw \
--volume=/var/lib/postgresql:/var/lib/postgresql:rw \
--volume=/var/run/postgresql:/var/run/postgresql:rw \
postgres:12.4 \
pg_rewind --target-pgdata=/var/lib/postgresql/data/pgdata --source-server='host=10.0.0.55 port=5432 dbname=postgres user=replicator password=password'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63820214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档