pgpool-II 4.7.2 Documentation
Prev | Up | Appendix A. Release Notes | Next

# A.2. Release 4.7.1

> Release Date: 2026-02-26

## A.2.1. Changes

- Add parameters to specify the watchdog/heartbeat listen address and port. (Taiki Koshino)

  By specifying wd_listen_address and wd_listen_port, watchdog will listen only on the specified address and port. You can also now specify the listening port for the heartbeat process using wd_heartbeat_listen_addresses and wd_heartbeat_listen_port.

  Discussion: Re: Pgpool-II 4.7.0 released.

- Allow parallel `make`. (Tatsuo Ishii)

  Previously a parallel `make` failed with:

      In file included from parser.c:27:
      ../../src/include/parser/gramparse.h:33:10: fatal error: gram.h: No such file or directory
      33 | #include "gram.h"

  Patch is created by anthonyroussel and reviewed by Tatsuo Ishii.

  Discussion: Fix parallel build

- Add detail log about mismatch between backend_hostname and `primary_conninfo` host. (Taiki Koshino)

  If the backend_hostname set in `pgpool.conf` does not match the host setting in PostgreSQL's `primary_conninfo`, the following log message will be output.

      sr_check_worker pid 25099: DETAIL: pgpool.conf backend_hostname: "pgpool0" does not match PostgreSQL primary_conninfo host: "pgpool_logtest"

- Explicitly stat supported minimum OpenSSL version. (Tatsuo Ishii)

  That can be done in configure.ac by using

      AC_DEFINE(OPENSSL_API_COMPAT, [0x10002000L],
                [Define to the OpenSSL API version in use. This avoids deprecation warnings from newer OpenSSL versions.])

  The supported minimum version is 1.0.2, which is identical to PostgreSQL at this point. (Actually the AC_DEFINE is brought in from PostgreSQL). Also this could avoid OpenSSL deprecation warnings if your installed OpenSSL is new, like 3.0. Moreover, add mention to installation document that required minimum version of OpenSSL is 1.0.2.

- Rename libpcp to libpgpoolpcp to avoid conflict with RHEL PCP library. (Bo Peng)

  The libpcp.so library provided by Pgpool-II conflicts with libpcp.so shipped by RHEL. To avoid this conflict, the Pgpool-II libpcp library has been renamed to libpgpoolpcp.

  Discussion: Installing pgpool-II fails due to naming conflict with RHEL provided library

## A.2.2. Bug fixes

- Fix startup failure when neither `logdir` nor work_dir is configured. (Taiki Koshino)

  Problem reported by Luca Ferrari and reviewed by Taiki Koshino.

  Discussion: work_dir and/or logdir not set to default on 4.7 ?

- Fix oversight in `check_transaction_state_and_abort()`. (Tatsuo Ishii)

  The function does not take the case when frontend is NULL into account.

  Problem pointed out by Coverity.

- Fix `walker()` functions to return earlier. (Tatsuo Ishii)

  Previously `walker()` functions returned false once it found target objects. But it is possible to short-circuit the traverse and it should have been. Also import comments from PostgreSQL to clarify walker function design.

  Problem reported by liujinyang-highgo and reviewed by Tatsuo Ishii.

  Discussion: Improper handling in the function view_walker().

- Fix memory leak in `scram-sha-256` authentication. (Tatsuo Ishii)

  Problem pointed out by Coverity.

- Fix to check the return value of `malloc()`. (Tatsuo Ishii)

  `create_inet_domain_sockets()` forgot to check the return value of `malloc()` while allocating memory for socket fds.

- Fix health check process to not start. (Tatsuo Ishii)

  Previously `pgpool_main()` did not start a health check process if the backend node is down. This prevented auto_failback from working. Pgpool reads status from `pool_status` file when `-D` option is not present. If the status recorded in the file is "down", pgpool will not start health check process for the node. Since auto_failback is invoked from health check process, this means that auto_failback does not work for the backend node. Fix is, unconditionally start health check process.

  Problem reported by Meng Feilong and reviewed by Tatsuo Ishii.

  Discussion: Nodes in the down state cannot failback

- Fix duplicate NodeTag enum in nodes.h. (Tatsuo Ishii)

  Fixed the duplication between NodeTag definitions in nodes.h imported from PostgreSQL and Pgpool-II's own definitions.

  Problem reported and diagnosed by liujinyang-highgo and reviewed by Tastuo Ishii.

  Discussion: an issue about NodeTag definition.

- Fix resource leak in `pcp_connect()`. (Tatsuo Ishii)

  The function did not call `freeaddrinfo()` in some places.

- Fix possible integer overflow. (Tatsuo Ishii)

  In `pool_write_flush()` and `pool_flus_it()` `write(2)` is used. `write(2)` returns ssize_t and in the code there are some places where the return value was assigned to an int variable. As a result it was possible that the return value was evaluated to negative value, which led to an error.

Prev | Home | Next
Release 4.7.2 | Up | Release 4.7.0