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

# A.35. Release 4.3.0

> Release Date: 2021-12-07

## A.35.1. Overview

Many enhancements are added to this version for easier configuration and administration. A new cluster membership mechanism is introduced to dynamically adjust the Watchdog cluster size. This allows the leader Watchdog node to retain the quorum/VIP even when some of watchdog nodes get Shutdown or disconnected. New PostgreSQL 14 `SQL` parser is imported. The Snapshot Isolation Mode is now ready for production. New sample configuration for the mode is provided in the configuration example section.

Please be warned that in this version default values for some configuration parameters are changed to be more consistent and useful. See Migration section for more details.

Below are major enhancements.

- A new membership mechanism is introduced to Watchdog to allow to keep quorum/VIP when some of watchdog nodes are removed.

- Allow to choose the least replication delay standby node when selecting the load balance node. For this purpose a new parameter prefer_lower_delay_standby is added.

- Allow to specify the node id to be promoted in pcp_promote_node. For this purpose new switch `--switchover` is added. If the switch is specified, pcp_promote_node detaches the current primary node and actually promote the specified node.

- Allow to configure to not trigger failover when PostgreSQL is shutdown by admin or killed by `pg_terminate_backend`. For this purpose a new parameter failover_on_backend_shutdown is added.

- Add new fields to pcp_proc_info, SHOW POOL_PROCESSES and SHOW POOL_POOLS command to display more useful information to admin.

- Allow pcp_node_info to list all backend nodes information.

- Add new fields showing actual PostgreSQL status to SHOW POOL NODES command and friends.

- Add a new parameter which represents the recovery source hostname to recovery_1st_stage_command and recovery_2nd_stage_command. This is useful for some systems on which hostname command returns unexpected host name.

- Add support for log time stamp with milliseconds.

- Import PostgreSQL 14's SQL parser.

  Major changes of PostgreSQL 14 parser include:

  - Allow an alias to be used to a JOIN ... USING

  - Allow DISTINCT to be added to GROUP BY

  - New SEARCH and CYCLE clauses for common table expressions

- Support include directive in `pgpool.conf` file. You can have separate sub-config file to be included in `pgpool.conf`.

- `pgpool.conf` sample files are unified into single sample file for easier configuration.

- All configuration parameters in `pgpool.conf` sample file are commented out to clarify which parameter is needed to be changed. Please note that some configuration parameter's default values are changed. See Migration section for more details.

## A.35.2. Migration to Version 4.3

- Until Pgpool-II 4.2, if PostgreSQL was shutdown by an administrator using `pg_ctl` command, it triggered an immediate failover if clients are connected to Pgpool-II. In 4.3 this is not a case anymore. If a configuration parameter failover_on_backend_shutdown is set to false (the default), the shutdown does not trigger a failover. Setting the parameter to true will preserve the same behavior as pre-4.3.

- Commenting out all parameters in `pgpool.conf`. (Tatsuo Ishii)

  This will make `pgpool.conf` less confusing and make PostgreSQL users easier to understand `pgpool.conf` because this follows the PostgreSQL way.

- Unify all `pgpool.conf.sample` files into single `pgpool.conf.sample`. (Tatsuo Ishii)

  Now that all configuration parameters in `pgpool.conf` are commented out, there's no point to have separate configuration sample files. Just specify the backend_clustering_mode parameter is enough.

- Change compile time default value of insert_lock to on. (Tatsuo Ishii)

  insert_lock is already on in `pgpool.conf.sample`. So sync with it.

- Change compile time default value of failover_require_consensus to on. (Tatsuo Ishii)

  failover_require_consensus is already on in the docs and in `pgpool.conf`. So sync with them.

- Change compile time default value of failover_when_quorum_exists to on. (Tatsuo Ishii)

  failover_when_quorum_exists is already on in the docs and in `pgpool.conf`. So sync with them.

- Change compile time default value of load_balance_mode to on. (Tatsuo Ishii)

  load_balance_mode is already on in `pgpool.conf.sample`. So sync with it.

- Enable streaming replication check by default. (Tatsuo Ishii)

  Change the compile time default value of sr_check_period from 0 to 10. This means if operating in streaming replication mode, now streaming replication check is enabled by default. The parameter is already set to 10 in `pgpool.conf.sample`. So the only difference is, when sr_check_period is commented out.

- Change compile time default of log_standby_delay from 'none' to 'if_over_threshold'. (Tatsuo Ishii)

  Before the compile time default was 'none' but the default value of sample `pgpool.conf` was 'if_over_threshold'. Since 'if_over_threshold' is more useful for most users, change the compile time default to 'if_over_threshold' as well.

- Fix some compile time default values. (Tatsuo Ishii)

  Some default values defined in src/config/pool_config_variable.c were different from what the documentation expects. Namely: clear_memqcache_on_escalation (changed from "false" to "true") wd_lifecheck_dbname (changed from "postgres" to "template1") listen_backlog_multiplier (changed from "32" to "2") authentication_timeout (changed from "0" to "60")

## A.35.3. Bug fixes

- In this release same bug fixes as Pgpool-II 4.2.5 are already applied. See Section A.52 for more details of those fixes.

## A.35.4. Changes

- Enable dynamic watchdog cluster definition by introducing the concept of Member and Nonmember watchdog nodes. (Muhammad Usama)

  If the node's membership gets revoked from the watchdog cluster, then the cluster re-calibrate itself dynamically to adjust all subsequent majority rule computations.

  Three new settings wd_no_show_node_removal_timeout, wd_lost_node_removal_timeout and wd_remove_shutdown_nodes are added to configure the membership criteria of the watchdog nodes.

- Add prefer_lower_delay_standby (Masaya Kawamoto)

- Allow to specify node id to be promoted in pcp_promote_node. (Tatsuo Ishii)

- Add new config parameter failover_on_backend_shutdown. (Tatsuo Ishii)

- Add new fields to pcp_proc_info, SHOW POOL_PROCESSES and SHOW POOL_POOLS command. (Masaya Kawamoto)

- Allow pcp_node_info to list all backend nodes. (Bo Peng)

- Add new fields to show actual PostgreSQL status to SHOW POOL NODES, pcp_node_info and pgpool_adm_pcp_node_info. (Tatsuo Ishii)

- Add a new parameter which represents the recovery source hostname to recovery_1st_stage_command and recovery_2nd_stage_command. (Tatsuo Ishii)

- Add support for log time stamp with millisecond in log_line_prefix. (Tatsuo Ishii)

- Import PostgreSQL 14's new SQL parser. (Bo Peng)

- Unify all `pgpool.conf.sample` files into single `pgpool.conf.sample`. (Tatsuo Ishii)

- Fix missing comment out in sample `pgpool.conf`. (Tatsuo Ishii)

  statement_level_load_balance and allow_clear_text_frontend_auth were not commented out.

## A.35.5. Documentation changes

- Add new configuration example for native replication mode and snapshot isolation mode. (Bo Peng)

- Update Pgpool-II + Watchdog Setup Example and sample scripts for PostgreSQL 14. (Masaya Kawamoto)

Prev | Home | Next
Release 4.3.1 | Up | Release 4.2.21