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

# A.43. Release 4.3.20

> Release Date: 2026-06-04

## A.43.1. Bug fixes

- Allow `pgproto` to accept new line data. (Tatsuo Ishii)

  Now `"\n"` is recognized as a new line. This is necessary for `COPY` command.

- Keep local primary_node_id when leader watchdog reports the initial -2 sentinel. (Tatsuo Ishii)

  Fix a watchdog synchronization issue after simultaneous restart of all pgpool nodes, where standby nodes could overwrite a valid primary_node_id with the initial -2 sentinel value and remain stuck in an uninitialized state indefinitely. Fix is, keep the local primary_node_id when the leader reports the initial -2 sentinel.

  Problem reported by Emond Papegaaij and Claude Code.

  Discussion: Primary node detection race at clean startup

- Fix empty query case in aborted transaction. (Tatsuo Ishii)

  Fix empty queries in aborted transactions incorrectly raising errors. Empty queries should be allowed in aborted transactions, but a previous commit caused `check_transaction_state_and_abort()` to reject them. Fix is, detect empty queries in `SimpleQuery()` and bypass the check.

  Problem reported by Ronaldo Raivil.

  Discussion: pgpool >= 4.3.2 synthesizes 25P02 on driver health-check probes inside aborted savepoints, breaking ORMs that need to call ROLLBACK TO SAVEPOINT

- Fix description about `ssl_dh_params_file`. (Tatsuo Ishii)

  It actually falls back to compiled-in default not only when the parameter is empty (the default), but when specified parameter is incorrect one.

- Fix PCP main process to remember child pids upon restarting. (Tatsuo Ishii)

  Upon failover/failback, pgpool main process sends a signal to PCP main process to request restarting, and PCP main restarts. Problem is, when PCP main restarts, it forgets the list of pids of its child PCP worker process. As a result, commands such as `pcp_promote_node` could hang indefinitely. Fix is, store PCP worker PIDs in shared memory so they survive PCP main restart.

  Problem reported by Taiki Koshino.

  Discussion: Problem with pcp process

- Fix version mismatch: regenerate configure for 4.3.19. (Bo Peng)

- Fix memory leak in a SSL module. (Tatsuo Ishii)

  Fix a memory leak in `load_dh_file()` when invalid DH parameters are supplied. The function failed to free memory returned by `PEM_read_DHparams()`. Also update the copyright notice in the same file to retain the original PostgreSQL copyright.

  Discussion: Memory leak in SSL module

- Fix incorrect routing of `SET transaction_read_only = 0`. (Bo Peng)

  Fix incorrect routing of `SET transaction_read_only = 0` to standby node, which caused query errors. Also replace incorrect bool ret = POOL_BOTH with the proper enum type.

  Problem reported by liujinyang-highgo.

  Discussion: set command 'set transaction_read_only = 0;' routed to standby node and execute failed.

## A.43.2. Documents

- Doc: fix `ignore_leading_white_space` and `allow_sql_comments` docs. (Tatsuo Ishii)

  They lacked a description on the default values.

Prev | Home | Next
Release 4.4.0 | Up | Release 4.3.19