问题标签 [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.
database - 配置:错误:未安装 libpq 或 libpq 旧
我正在尝试在 Ubuntu 13.10 环境中安装 pgpool-II。我正在按照本教程完成它。
我得到以下错误。
配置:错误:未安装 libpq 或 libpq 旧
从文档。
注意:pgpool-II 需要 PostgreSQL 7.4 或更高版本(版本 3 协议)中的 libpq 库。如果 configure 脚本显示以下错误信息,可能是 libpq 库没有安装,或者不是版本 3。
配置:错误:未安装 libpq 或 libpq 旧
如果库是版本 3,但仍显示上述消息,则您的 libpq 库可能无法被配置脚本识别。
configure 脚本在 /usr/local/pgsql libaray 下搜索 libpq 库。如果您已将 PostgreSQL 安装到 /usr/local/pgsql 以外的目录,请在执行 configure 时使用 --with-pgsql 或 --with-pgsql-includedir 和 --with-pgsql-libdir 命令行选项。
我正在使用下面的命令按照指示修复它,但它不起作用。
我也从 Database Administrators Stack Exchange关注了这一点。
我怎样才能解决这个问题?
postgresql - 使用 UPDATE 处理 CTE 的 pgpool
我正在运行启用负载平衡的 pgpool-II,以便它向我集群中的两台服务器发送只读查询。
但是,在某些情况下,我的 CTE 查询包含 UPDATE 命令,但底层查询是 SELECT,因此 pgpool 将其发送到从属服务器并由于只读性质而失败。
例如,此查询查找要显示的匹配项,并将它们标记为同时查看:
有什么建议可以让 pgpool 将其识别为写入查询,那么我应该将写入分开吗?
postgresql - 无法连接到 pgpool
我在玩pgpool2。
我正在使用命令连接到在端口 5432 上运行的 postgresqlpsql -U postgres -p 5432
并且连接正常。
当我使用命令连接到在 9999 端口上运行的 pgpool2psql -U postgres -p 9999
它会返回如下对话框:
psql: root@master:/linux/path#
我做错了什么?有没有办法使用 psql 连接到 pgpool?我也无法从应用程序连接到它。
UPD我有以下错误pool_do_auth: maybe protocol version mismatch (current version 3)
已解决:问题出在后端的 pgpool auth 中。编辑pg_hba.conf
修复的问题。
java - 用于 Java/JDBC 应用程序的 PgPool 负载平衡
在 CentOS 上设置好 PgPool 的所有可能设置后,当我使用我的 Java 应用程序对其进行测试时,我发现它无法正常工作。
在阅读了互联网上的手册(您可以在此处找到)后,我发现如果 JDBC 语句已设置为 false(用于自动提交),它将无法正常工作。
由于我使用的是 Hibernate,所以我很确定它正在使用事务来设置值。
我的问题是,如果这是真的,哪种方法对复制我的数据库有用。我听说过并行模式,但我不确定它是否适用于 Java 应用程序。任何人都可以指导并为我提供样品吗?
node.js - Node.JS 和 pgpool 版本
我正在尝试使用 node.js 'pg' 模块通过 pgpool (pgpool-II) 调用 postgress。如果有人让这种设置工作,那么已知可以一起工作的正确版本的 pgpool-II 和正确版本的 'pg' 是什么?从我发现某些版本的 pg-pool 具有参数回归,所以你不能从 pg 调用它们(这是我现在正在经历的)。
watchdog - pgool2 看门狗不在虚拟 IP 接口上监听
我已经在复制模式下设置了一个 pgpool,看门狗有一个虚拟 IP(未使用的 IP)。pgpool 和看门狗启动成功完成。
使用指定的 IP 创建虚拟 eth0:0 接口192.168.143.95
。pgPool 配置为在端口 5432 上运行
尝试连接到虚拟 IP 时:端口 psql 命令psql -h 192.168.143.95 -p 5432 -l
说
psql: could not connect to server: Connection refused
Is the server running on host "192.168.143.95" and accepting
TCP/IP connections on port 5432?
显然,虚拟 IP 地址的任何端口上都没有侦听套接字。有没有人有类似的工作配置?虚拟 IP 地址是否有一些未指定的要求(例如与 pgpool 接口相同的子网)?
对于为什么这可能不起作用的任何建议,我将不胜感激。
非常感谢
postgresql - pgpool II 复制和 postgresql 复制有什么区别?
我不完全是 DBA,所以我希望得到易于理解的回复。我必须为我们的数据库提供复制,而 pgpool 似乎更方便,因为如果一个 postgresql 实例失败,客户端不需要更改任何内容来继续工作,对吗?因此,在这种情况下,使用 pgpool 更有意义,但配置部分(对我而言)似乎更加复杂和混乱。例如,我需要在两个 postgresql 服务器上设置 WAL 吗?或者只有在我想设置 postgresql 复制时才需要这样做?我越是试图得到这些问题的答案,它就越不清晰。可能我忘了怎么用谷歌...
postgresql - 带有 PgPool 的 PostreSQL 运行速度极慢
我正在 PostgreSQL 上运行测试,看看它是否可以在相当繁忙的服务器上替代 MySQL。我有以下配置:
我感觉我的设置不如最优,因为基准测试证明它非常慢。
跑步ab -c 50 -n 10000
时间超过 15 分钟
而同样的测试,在同一台服务器上但连接到 MySQL 只需要 1 秒!
注意:每个 ab 请求都是一个插入语句。Aslo我已将设置更改为以下,但结果并没有改善
硬件有 12GB RAM 和 Intel Xeon 2.40GHz。
postgresql - 在多用户应用程序的情况下,如何使用 JDBC 从 pgPool-II 正确获取连接?
我的公司计划使用pgPool-II以受益于其“故障转移”、“负载平衡”(以及最终的“复制”)功能。
我们在这里考虑我们有一个由服务器集群托管的J2EE Tomcat Web 应用程序,其中Jakarta Tomcat 连接器 (JK)或类似服务用于在客户端和这些Tomcat服务器之间建立链接(负载平衡)。此外,我们认为我们有一个PostgreSQL 9.3数据库集群,其中pgPool-II用于在Tomcat服务器集群和数据库集群之间进行链接。我们的应用程序是一个多用户应用程序,其中每个用户都与不同的角色相关联(当然就数据库而言)。
我了解到pgPool-II使用与postgreSQL相同的协议,所以要连接到池,我们只需要像我们通常连接到数据库一样连接到它,对吧?
在这个邮件副本中,我看到有 2 个池层是没有用的,所以除了pgPool-II之外不需要使用JDBC Tomcat 池。要么我们将 pool 任务委托给JDBC Tomcat pool,要么我们将它委托给pgPool-II,对吧?
所以我最后的问题是:
在这种情况下,如何使用JDBC从pgPool-II正确获取连接,每次用户需要执行SQL请求时,我是否必须简单地要求与pgPool-II建立新连接?不影响性能?
哪个部分应该负责池任务以获得最佳性能?JDBC Tomcat、pgPool-II还是其他服务,如pgBouncer?最好的方法是什么?
提前致谢!
PS:如果有些地方不清楚,请告诉我,我会编辑我的帖子。
python - Django CONN_MAX_AGE 使用 postgresql max_connections 失败
由于我CONN_MAX_AGE: 300
在我的 Django 服务器上使用,请求失败并出现错误,因为 PostgreSQL 超出了max_connections
限制(默认为 100)。
解决这个问题的最佳策略是什么?我试过使用 pgpool2,但这根本没有解决问题。现在连接由 pgpool 2 排队(让站点永远等待,并最终导致网关超时)。
我预计使用 pgpool 会减少进入 PostgreSQL 的空闲连接数,不会再次导致同样的问题。
这些是我使用的设置:
pgpool2:
num_init_children = 32 # are so many workers needed?
max_pool = 10 # default is 4
postgres:
max_connections = 400 # upgraded from default 100
uWSGI/Django:
- 所有工人都有20个线程。
- 所有站点加起来总共有 10 名工人。
VPS 是一个 2.27GHz 的 8 核 Linode,具有 2GB 内存。