- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 3 个 Postgresql 数据库节点(node0、node1、node2,版本 9.4)和 1 个 pgpool 节点(版本 3.7)
1.1)node0为主,node1、node2为备
1.2) "show pool_nodes"和 "select * from pg_stat_replication"按预期工作。
1.3) “插入”和“选择”按预期工作。
2.1) 我手动停止了 node0 中的 postgresql 服务。
2.2) PGPool运行故障转移脚本,节点1成为主节点/节点2成为备用节点。
2.3) "Show pool_nodes"显示节点 0 已关闭,"select * from pg_stat_replication"仅显示一个备用节点,即 node2。他们是正确的。
2.4) “插入”和“选择”按预期工作。
3.1) 我手动启动 node0 作为 node1 的备用节点。
3.2) "select * from pg_stat_replication"显示node0和node2都是stand-by,按预期工作。
3.3) “show pool_nodes”显示 node0 仍处于“关闭”状态,这是预期的。
3.4) “pcp_attach_node -n 0”,带回节点 0。 “show pool_nodes”显示 node0 现在处于“启动”状态,这是预期的。
3.5) 但是,“插入”将失败并显示消息“错误:无法在只读事务中执行插入”。
3.6) "select * from pg_stat_replication"显示0行,表示两个备节点消失了。
3.7) 显然,所有“插入”和“选择”都转到了 node0,而不是 node1。
PGPool以主从流模式运行。
那么,我在步骤 3.4 中遗漏了什么来恢复故障节点?
最佳答案
我遇到了和你一样的问题。但是,我的 Pgpool 版本是 3.7.2。我发现此链接解决了我的问题:
https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=e8baa3f0ee1a24f833cfa6cc5d0104b5cefe7b04
我在主/从复制中有三个 postgresql 数据库节点。当节点 0 为主时,我的 Pgpool 工作正常。在主节点故障转移到节点 1 和节点 0 故障恢复为备用节点后,pgpool 将我的写查询发送到节点 0,并得到只读事务错误。
我再做一次检查。我做了一个主/从复制,其中节点 0 是热备份,节点 1 是主节点。我启动 pgpool 并尝试创建/插入数据库。 Pgpool 总是将我的写入查询发送到节点 0。我下载了最新的源并自己构建了 Pgpool 后,问题就解决了。
关于postgresql - pcp_attach_node 之后 pgpool 丢失了 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48997190/
我已经使用命令启动了pgpool sudo pgpool -n & 它开始在终端上给出以下消息: 2012-05-04 10:54:29 LOG: pid 4109: pgpool-II succes
我在玩pgpool2 . 我正在使用命令 psql -U postgres -p 5432 连接到在端口 5432 上运行的 postgresql,并且连接正常。 当我使用命令 psql -U pos
我有一组 4 个流浪系统。 web1(主数据库) web2(从 web1 复制的数据库) mgmt(我从中连接的节点) web3(pgpool 正在运行) 我的 pgpool设置为在 web1 和 w
我有一个带有 pgpool 的 PostgreSQL 复制 M-S 作为仅主服务器上的负载平衡器。复制过程正常,过程没有延迟。问题是,即使我为每台服务器配置了不同于 50% 的余额,主服务器收到的请求
我有一个 postgresql 10 主数据库和 2 个带流复制的热备用服务器,并且复制工作正常。 synchronous_commit 设置为 remote_write 我还有一个配置了参数的 pg
我在配置为主热备用的两个 PostgreSQL 9.1 中使用 pgpool-II 3.2.1。 当尝试从 PGAdmin 进行身份验证时,我得到: Error connecting to the s
在 CentOS 上设置 PgPool 的所有可能设置后,当我使用 Java 应用程序测试它时,我发现它不起作用。 在阅读互联网上的手册(您可以找到 here )后,我发现如果将 JDBC 语句设置为
我正在尝试使用 node.js 'pg' 模块通过 pgpool (pgpool-II) 调用 postgress。如果有人让这种设置工作,那么已知可以一起工作的正确版本的 pgpool-II 和正确
我正在 rhel 7 上安装 pgpool-II。我想使用 postgreSQL 9.2 的 RPM 包安装 pgpool-II。 pgpool 文档提到了以下行 yum install pgpool
Django 数据库设置为 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql',
我正在使用 pgAdmin III 从客户端管理我的数据库。我有一个以流复制模式运行的主从 postgreSQL。他们前面还有另一个 pgpool 服务器,用于连接池和负载平衡。 当我将 pgAdmi
我一直在尝试将 PgPool 配置为接受大约 150 个请求。Postgres 服务器配置为仅接受 100 个连接。任何超过 100 的都需要被 PgPool 池化。我似乎不明白。我只需要 PgPoo
昨天我用 pgbench 测试了 pgpool : pgbench -c 30 -T 20 -r pgbench -p9999 -h192.168.8.28 并发连接数是30,pgpool默认的num
我正在使用 pgpool2 版本 3.5.1,其中有 4 个 PostgreSQL 9.1 实例,它们在 Ubuntu 上运行 16GB 和 8 个内核。 这是 pgpool.conf file .
我正在使用 postgres 数据库和 pgpool 。 Postgres 数据库端口:5432 工作正常。但我正在使用 Pgpool 端口:9999 不工作。 我正在导入 xml 文件 (mypro
我正在尝试查找可用于 Postgres DB 的不同中间件。每个人都在推荐 PgBouncer 和 PgPool II。我可以使用的其他中间件的列表是什么。 最佳答案 其他中间件示例列表: https
嘿,我正在努力确定在我们的发布环境中出现的错误的确切原因。在谷歌上似乎没有太多处理这个特定错误的方法。 这是我们得到的错误信息: SQLSTATE[34000]: Invalid cursor nam
今天我在我公司的一台服务器上设置了 pgpool-II 用于数据库复制目的,我试图从位于另一台服务器上的应用程序连接到它。以前它连接到现在安装 pgpool 的同一台服务器上的数据库没有问题 - 我只
你能在同一个 Postgres 数据库上运行多个 pgpool-II 实例吗?我的想法是我想要真正的冗余,所以如果 pgpool-II 宕机了,我可以很容易地访问另一个,而无需任何停机,因为数据库仍在
我在启用负载平衡的情况下运行 pgpool-II,以便它向我集群中的两个服务器发送只读查询。 但是,在某些情况下,我有包含 UPDATE 命令的 CTE 查询,但底层查询是一个 SELECT,因此 p
我是一名优秀的程序员,十分优秀!