pgpool Global Development Group is pleased to announce the availability
of pgpool-II 3.0.3, the latest stable version of pgpool-II 3.0 series.
This version fixes various bugs since 3.0.1.
Please note that 3.0.2 was canceled due to a packaging problem.
* Incompatible changes
- Now installing C function "pgpool-walrecrunning()" is recommended
if you plan to use streaming replication mode.
This is necessary for better use of online recovery in the mode.
Also new variable "%P" can be used in the online recovery script.
If you do not install the function, these functionalities cannot
- In raw mode if there's only one DB node and if a problem arises
with the DB node, it will be brought to down status. However if
the DB node goes into good condition again, you can use the DB
node without restarting pgpool. This change has been included in
3.0, but did not work(Tatsuo, Kitagawa)
* Bug fixes
- Fix non portable code in password authentication.
Bug report from a FreeBSD user(Tatsuo)
- Fix bug that insert_lock locks all rows in user table
- Fix bug with password authentication. If user name is 32 bytes
long, pgpool child segfaults(Tatsuo)
- Fix bug with md5 authentication. If raw mode or number of
backend is 1, pgpool child segfaults. Patch contributed by
- Fix long standing bug with timestamp rewriting against array
and complex types. Patch contributed by Akio Ishida(Tatsuo)
- Fix bug that debug_level directive doesn't work. Patch
contributed by Gilles Darold(Tatsuo)
- Fix possible crash of pgpool child while doing failover(Kitagawa)
- Fix white/black_function_list so that it works correctly when user
calls function with schema name(Tatsuo)
- Fix bug that DROP DATABASE fails by connection cache(Kitagawa)
- Fix bug that failover fails in raw mode(Kitagawa)
- Fix possible termination of pgpool child when both simple query
protocol and extended query protocol are used in one session
- Fix possible hang up when an error occurs while using extended
- Fix pgpool-regclass() so that it doesn't use PG_TRY/CATCH.
It appeared that using PG_TRY/CATCH is not safe, sometimes backend
dies with PANIC: ERRORDATA_STACK_SIZE exceeded.(Tatsuo)
- Fix bug that select query isn't sent to master node when it meets
the following conditions(Kitagawa)
- in MASTER/SLAVE mode
- use extended query protocol
- started transaction explicitly
- after write queries
- Fix bug with load_balance that JDBC driver sends BEGIN to master node
- Fix pool_status so that failback_command and fail_over_on_backend_error
show correct values(Kitagawa)
- Remove parameters from pool_status: recovery_password,
- Fix online recovery problem in the streaming replication
mode(Tatsuo). Consider following scenario. Suppose node 0 is
the initial primary server and 1 is the initial standby
1) Node 0 going down and node 1 promotes to new primary.
2) Recover node 0 as new standby.
3) pgpool-II assumes that node 0 is the new primary.
This problem happens because pgpool-II regarded unconditionally
the youngest node to be the primary. pgpool-II 3.0.3 now checks
each node by using pgpool-walrecrunning() to see if it is a
actually primary or not and is able to avoid the problem and
regards node as standby correctly. Also you can use new
variable "%P" to be used in the recovery script. If you do
not install the function, the above problem is not resolved.
- Fix backend complaining "unexpected EOF on client connection"
while doing failover in streaming replication mode(Tatsuo)
- Rewrite and review english document(Marc Cousin, Gleu)
- Emit log if particular backend is down status while reading
the status file(Tatsuo)
You can download the source code from:
Pgpool-general mailing list