pgpool-II 4.6.3 Documentation | |||
---|---|---|---|
Prev | Up | Appendix A. Release Notes | Next |
Release Date: 2025-08-21
Enhance connecting process to backend. (Tatsuo Ishii)
In certain environment (especially k8s), DNS look up is unstable and
connecting to backend process fails. This occurs in call to
getaddrinfo()
in connect_inet_domain_socket_by_port()
. To enhance the
situation, retry up to 5 times (at each retry, sleep 1 second) if
getaddrinfo()
fails with EAI_AGAIN. Note that if
connect_inet_domain_socket_by_port()
is called with "retry" argument
is false, the retry will not happen. Health check calls
connect_inet_domain_socket_by_port()
with the retry flag to false so
that retrying is controlled health check's own parameters.
Discussion: A single DNS lookup failure will trigger backend failover
Fix watchdog to print inappropriate NOTICE message. (Tatsuo Ishii)
read_ipc_socket_and_process()
printed a notice message every time when
it wrote commands to IPC socket even if it was successful. Fix this to
print the notice message only when the write failed.
The reason why this bug was not recognized is, the message appears
only when log_min_messages is set to notice or higher.
Discussion: pgpool IPC socket connection issue
Fix resource leak while reading startup packet. (Tatsuo Ishii)
Fix resource leak in pool_push_pending_data.
Fix broken scram-sha-256 authentication on big-endian machines. (Tatsuo Ishii)
When scram-sha-256 authentication is performed, a hash function
pg_sha_256_final
is used. It was imported from PostgreSQL and it uses
preprocessor define WORDS_BIGENDIAN to judge host machine's
endianness. Although WORDS_BIGENDIAN should be defined while
configure, this part was missed when pg_sha_256_final
(and others) was
imported from PostgreSQL. As a result, scram-sha-256 worked only in
little endian machines. Fixed the issue by adding
AC_C_BIGENDIAN macro to configure.ac.
Problem reported by Christoph Berg and analyzed by pranavkaruvally.
Discussion: 4.6.1 fails on big-endian s390x: backend response with kind 'E' when expecting 'R'
Fix source code typos. (Bo Peng)
Fix heartbeat device treatment. (Tatsuo Ishii)
Fix wd_create_hb_recv_socket()
and wd_create_hb_send_socket()
to pass a null-terminated device name string to setsockopt(SO_BINDTODEVICE)
instead of incorrectly passing a struct ifreq.
Discussion: [pgpool-hackers: 4602] heartbeat and SO_BINDTODEVICE
Fix resource leak in hearbeat receiver process. (Tatsuo Ishii)
Fix heartbeat device treatment. (Tatsuo Ishii)
While processing pgpool.conf, heartbeat_device was mistakenly treated and the first device was ignored.
Problem analyzed by Bo Peng.
Fix heartbeat receiver not working. (Tatsuo Ishii)
IPv6 support for heartbeat was added in version 4.6,
but the receive process mistakenly bound only to loopback addresses,
preventing reception from other nodes.
Adding the AI_PASSIVE flag to getaddrinfo()
fixes this by binding to all network interfaces.
Problem analyzed by Bo Peng.
Fix typo in the comments of pgpool.conf. (Tatsuo Ishii)
Enhance "8.3. Replication Mode and Snapshot Isolation Mode Configuration Example" Document. (Taiki Koshino)
Updated the link to the example script and the explanation in the "8.3.3. Before you begin" section.
Fix documentation for parameters that are not reflected by reload. (Taiki Koshino)
"authentication_timeout" and "memqcache_oiddir" is not reflected by reload. The documentation is changed to "This parameter can only be set at server start.".
Unify watchdog leader terms (followup). (Tatsuo Ishii)
Fix example script link. (Taiki Koshino)
Modified the sample script in the section "8.2. Pgpool-II + Watchdog Setup Example"
Fix load balance explanation missed logical replication mode and Slony mode. (Tatsuo Ishii)
Enhance pcp_node_info document. (Bo Peng)
Clarify that each backend_application_nameX must match the value specified in the application_name of primary_conninfo to correctly display "replication_state" and "replication_sync_state".
Add section of kernel resources. (Tatsuo Ishii)
Pgpool-II uses System V shared memory and semaphores. It's better to describe the requirements in the docs.
Add description for --with-ldap option of configure. (Tatsuo Ishii)
It was missed when LDAP support was introduced in v4.2
Fix command in "8.2. Pgpool-II + Watchdog Setup Example" to escape $PGDATA. (Bo Peng)
Clarify supported platforms for Pgpool-II. (Tatsuo Ishii)
Enhance child_life_time document. (Tatsuo Ishii)
Stabilize 029.cert_passphrase regression test. (Tatsuo Ishii)
When ssl_passphrase_command is not valid, the error message is typically "bad decrypt" but it seems sometimes "wrong tag".