问题标签 [pgpool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - 基于表的 Postgres 主/从
目前我有 1 个 postgres 实例,它开始接收过多的负载,并希望创建一个包含 2 个 postgres 节点的集群。
从阅读 postgres 和 pgpool 的文档来看,我似乎只能写入主机并从从机读取或运行并行查询。
我正在寻找的是数据库的简单复制,但主/从基于正在更新的表。这可能吗?我在文档中的某个地方错过了它吗?
例如
database - 无法使用 pgpool II 自动恢复失败的 postgresql 主节点
我是 Postgresql 和 Pgpool II 设置的新手。我已经使用 Pgpool 和 Repmgr 配置了 Postgresql HA/负载平衡。
我已按照链接进行设置。
当我关闭主节点时,故障转移成功发生,从节点接管为新的主节点。
故障转移后,我必须手动恢复故障节点并将其与新的主节点同步。
我想自动化恢复过程。
pgpool 节点上的pgpool.conf文件包含参数recovery_1st_stage_command。我在网上搜索了源码,发现参数“recovery_1st_stage_command”应该是在Pgpool节点的配置文件pgpool.conf中设置的。
我已经设置了参数recovery_1st_stage_command = 'basebackup.sh'。我已将脚本'basebackup.sh'文件放在数据目录'/var/lib/pgsql/9.4/data'下的两个 Postgresql 节点上。
此外,我已将脚本 'pgpool_remote_start' 放置在目录 '/var/lib/pgsql/9.4/data' 下的两个数据库节点上。
还在数据库节点上创建了 pgpool 扩展 pgpool_recovery 和 pgpool_adm。
当主节点停止时,会发生故障转移,但不会执行恢复脚本“basebackup.sh”。
我检查了 pgpool 日志并启用了调试级别。仍然无法找到脚本是否被执行。
请帮助我进行故障节点的自动在线恢复。找到我使用的脚本。
基本备份.sh
pgpool_remote_start 脚本。
谢谢。
java - Java Hibernate Query中没有负载平衡注释
我们在 Java 项目中使用 pgPool 在 Postgres 数据库中进行负载平衡。
pgPool 将只读查询发送到从服务器并将查询写入主服务器。那没问题。
但是在我们的应用程序中有非常特殊的情况,当我们只需要在主服务器中执行查询时。
pgPool 提供以下机制:
上面的查询将始终在主服务器中执行。
我进行了很多搜索,但是虽然可以在手动查询中设置注释(Query 类中有一个 setComment()),但我找不到使用 Hibernate 存储库和从方法名称创建的查询的方法。
例子:
如何在此查询中添加评论?
postgresql - 如何让 pcp 自动将节点附加到 postgres pgpool?
我在 centos 6.8 上使用 postgres 9.4.9、pgpool 3.5.4。
我很难让 pgpool 自动检测节点何时启动(它通常检测第一个节点但很少检测到辅助节点)但是如果我使用 pcp_attach_node 告诉它哪些节点启动了,那么一切都是笨拙的。
所以我想在我能够正确解决问题之前,我会编写一个小脚本来检查节点的状态并根据需要附加它们,但是我在密码提示方面遇到了问题。根据文档,我应该能够发出类似的命令
但这只是抱怨
pcp_attach_node:警告:额外的命令行参数“localhost”被忽略 pcp_attach_node:警告:额外的命令行参数“9898”被忽略 pcp_attach_node:警告:额外的命令行参数“pgpool”被忽略 pcp_attach_node:警告:额外的命令行参数“mypass " 忽略 pcp_attach_node: 警告: 额外的命令行参数 "1" 被忽略
只有当我使用像这样的参数时它才会起作用
并且密码没有参数,我必须在提示符下手动输入。
除了使用 Expect 之外,还有什么关于排序的建议吗?
node.js - node-postgres,用 pg-pool 表达,将数据发送到 Angular 前端
我正在使用pg-pool
. 但是,我在将查询结果发送到前端时遇到了麻烦。我以为我可以res.send
像往常一样使用,但它不被识别(我也尝试过return
)。这是我的功能:
postgresql - node-postgres LEFT JOIN 查询
我正在尝试使用以下函数在 node-postgres (pg) 中执行连接查询,但出现语法错误。问题是连接查询,其他一切正常。在 pg 中格式化连接查询的正确方法是什么?
postgresql - 无法将 PGPool 与 Amazon RDS Postgres 一起使用
我有一个具有多可用区的 Postgres 9.4 RDS 实例,并且有一个从属只读副本。
到目前为止,负载平衡是在我的应用程序的业务层进行的,但效率低下,我希望使用 PGPool,因此应用程序与单个 Postgres 连接进行交互。
事实证明,使用 PGPool 一直很痛苦。如果我将其设置为负载均衡器,简单的 SELECT 查询会引发如下错误:
如果我将其设置为使用流复制以主/从模式运行(如Postgres 邮件列表中所建议的那样),我会得到:
是的,好吧,pg_hba.conf 如果在 RDS 中失手,所以我无法更改它。
有没有人让 PGPool 在 RDS 中工作?是否有其他工具可以充当中间件来利用 RDS 中的读取副本?
postgresql - pgpool-II 可以平衡 PostgreSQL 服务器与多个实例吗?
我已经在主从模式下配置了两个 PostgreSQL 9.5 实例,并且可以成功配置 PgPool-II 以实现它们之间的负载平衡,并且故障转移工作正常(花了我 2 周的时间和很多错误,但它终于奏效了)。
我现在的问题是:假设一个 PostgreSQL 服务器有多个实例,而第二个服务器也有多个实例,每个实例在两个服务器之间以多个端口配对,每个端口用于每个实例(当然),并且每个实例都配置用于主从复制。是否可以只安装一个 PgPool 为所有这些实例配置负载平衡和故障转移,还是应该为每个 PostgreSQL 实例配置一个 PgPool?
提前致谢,
伊戈尔·费利克斯
java - 休眠会话;连接到哪个服务器?使用带有故障转移和 pgpool-II 的 PostgreSQL JDBC 驱动程序
PostgreSQL 文档显示您可以在 JDBC 字符串中传递多个主机以用于 HA 设置(页面底部):https ://jdbc.postgresql.org/documentation/head/connect.html
我的设置有 3 个节点,每个节点都运行 PostgreSQL 服务器。我已经使用 pgpool-II 实现了 HA。有一个主节点和两个备用节点。
当我使用以下休眠属性时,效果很好:
我的应用程序连接到集群,如果说 10.200.0.50 关闭,它将使用其他地址之一。
但我的问题是,使用后:
如何从我的会话打开连接的 JDBC 连接字符串中检查哪个主机?
编码:
只是给了我所有三个节点的原始 JDBC 字符串。
postgresql - pgpool 3.5.4 和 JDBC 的问题
我有一个启用了 memcache 的 pgpool 3.5.4,我用它来连接到 Redshift。
我写了两个简单的程序,一个用Java(JDBC postgresql-9.4.1212.jre6.jar)和另一个用Python(使用psycopg2 postgres包)连接到pgpool,并执行一个简单的查询(例如:select * from customer限制 10;) 我注意到奇怪和不同的行为。我还使用命令行工具 psql 运行了查询。
1) 使用 JDBC 和 pgpool 并启用缓存我得到一个错误
2016-11-15 10:56:27:pid 31043:致命:后端抛出错误消息
2016-11-15 10:56:27: pid 31043: DETAIL: 由于后端错误退出当前会话
2016-11-15 10:56:27:pid 31043:提示:后端错误:“门户”pgpool31043“不存在”
2)在禁用缓存的情况下将 JDBC 与 pgpool 一起使用它可以工作
3)使用 psycopg2 或 psql 命令行与 pgpool 启用或禁用缓存它可以工作
有人可以帮我理解为什么只有 JDBC 不起作用吗?