Description:
In Pgpool-II 4.4.15, when updating primary_routing_query_pattern_list in pgpool.conf and executing systemctl reload (SIGHUP), the new patterns are appended to the existing list rather than replacing them.
Steps to reproduce:
Set primary_routing_query_pattern_list = 'SELECT 1' in pgpool.conf and start Pgpool-II.
Change it to primary_routing_query_pattern_list = 'SELECT 2' and execute pgpool reload.
Pgpool-II now holds both 'SELECT 1' and 'SELECT 2' in its internal list.
Impact:
Deleted or modified patterns remain active.
Memory consumption increases with every reload.
Duplicate patterns lead to redundant evaluation logic.
Environment:
Pgpool-II version: 4.4.15
OS: RHEL8.10