Skip to content

docs: add IvorySQL 5.4 Pgpool-II integration guide - #296

Open
messere1 wants to merge 2 commits into
IvorySQL:v5.4from
messere1:codex/docs-pgpool-1118
Open

docs: add IvorySQL 5.4 Pgpool-II integration guide#296
messere1 wants to merge 2 commits into
IvorySQL:v5.4from
messere1:codex/docs-pgpool-1118

Conversation

@messere1

@messere1 messere1 commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add bilingual Pgpool-II 4.7.2 integration documentation for IvorySQL 5.4
  • document source installation against IvorySQL client headers and libraries
  • provide a safe two-node streaming-replication and load-balancing configuration
  • cover monitoring roles, authentication, Oracle-compatible sessions, and production limitations
  • update both ecosystem overview tables and navigation trees

Why

Pgpool-II adds connection pooling, streaming-replication awareness, and read scaling in front of IvorySQL. The existing ecosystem documentation did not contain a tested IvorySQL-specific setup or explain the boundary between a minimal pooling configuration and a production failover design.

Fixes IvorySQL/IvorySQL#1118

Validation

Environment: Ubuntu 22.04 x86_64, IvorySQL 5.4 / PostgreSQL 18.4, Pgpool-II 4.7.2.

  • Pgpool-II configured and built successfully against the IvorySQL 5.4 installation prefix
  • two-node IvorySQL streaming-replication topology detected correctly
  • SHOW POOL_NODES reported both nodes up, with primary/standby roles and zero replication delay
  • with equal weights, 21 initial read queries were distributed 9 to the primary and 12 to the standby
  • SHOW POOL_PROCESSES confirmed backend connection-pool activity
  • a session switched to ivorysql.compatible_mode = oracle and queried through Pgpool-II successfully
  • both new AsciiDoc pages pass Asciidoctor with --failure-level WARN
  • git diff --check passes

User impact

Users gain a reproducible path to pool IvorySQL connections and scale reads. The guide intentionally disables automatic failover in the minimal example and lists the fencing, promotion, authentication, and consistency work required before production use.

Assisted-by: OpenAI:gpt-5
Copilot AI lite review requested due to automatic review settings August 9, 2026 12:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions
github-actions Bot temporarily deployed to pull request August 9, 2026 12:39 Inactive
@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

🚀 IvorySQL-Docs Preview Ready

@jiaoshuntian

Copy link
Copy Markdown
Contributor

Thank you for your contribution. We will review it as soon as possible.

@jiaoshuntian

Copy link
Copy Markdown
Contributor

Pgpool-II 复用了PG的语法解析器,那么站在IvorySQL的角度,当SQL语句全部是Oracle兼容语法时,似乎会全部路由到主节点。

Distinguish PostgreSQL-syntax load balancing from Oracle-mode connectivity, document primary routing on parse errors, and describe per-node routing validation.

Assisted-by: OpenAI:gpt-5
@messere1

messere1 commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

谢谢提醒。我核对了 Pgpool-II 4.7 的发行说明和负载均衡规则(https://www.pgpool.net/docs/4.7/en/html/runtime-config-load-balancing.html):它使用 PostgreSQL 18 的解析器;在本文采用的流复制模式下,Pgpool-II 无法解析的语句会发送到主库。因此,超出其解析器语法范围的 Oracle 专用语句,即使启用 load_balance_mode,也不会获得读负载均衡。

设置 ivorysql.compatible_mode = oracle 不会切换 Pgpool-II 的解析器,但也不意味着该会话中的每条 SQL 都无法解析。能够解析的只读查询仍需满足其余负载均衡条件。

已在 f3b911b 中同步修改中英文文档:

  • 将原有负载均衡结论限定为已测试的 PostgreSQL 兼容 SELECT;
  • 明确 SELECT ... FROM dual 仅验证 Oracle 模式下的连通性和执行,不证明 Oracle 专用语法的路由能力;
  • 单列 Oracle 专用语法负载均衡“未验证”,说明解析失败时路由到主库;
  • 补充 log_per_node_statement 的应用级路由验证方法。

@github-actions

Copy link
Copy Markdown

🚀 IvorySQL-Docs Preview Ready

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ecosystem Integration: IvorySQL v5 + pgpool-ll

3 participants