New feature "statement_level_load_balancing".
authorBo Peng <pengbo@sraoss.co.jp>
Tue, 2 Apr 2019 01:14:26 +0000 (10:14 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Tue, 2 Apr 2019 01:14:26 +0000 (10:14 +0900)
commit1099ba610eef06a9dab6f89486cc52de55ff3ebb
treefb9c3fdbd5d979bfd48c2251c02cc83ea42483e2
parent96f8a8f1f1f6c68b34985b03cb78c544afc92357
New feature "statement_level_load_balancing".

This feature enables selecting load balancing node per statement.

The current feature for load balancing, the load balancing node is decided
at the session start time and will not be changed until the session ends.

When set to statement_level_load_balancing = on, the load balancing node
is decided for each read query.

For example, in applications that use connection pooling remain connections
open to the backend server, because the session may be held for a long time,
the load balancing node does not change until the session ends.
In such applications, when statement_level_load_balance is enabled,
it is possible to decide load balancing node per query, not per session.
21 files changed:
doc.ja/src/sgml/loadbalance.sgml
doc/src/sgml/loadbalance.sgml
src/config/pool_config_variables.c
src/context/pool_query_context.c
src/context/pool_session_context.c
src/include/context/pool_query_context.h
src/include/context/pool_session_context.h
src/include/pool_config.h
src/protocol/child.c
src/protocol/pool_proto_modules.c
src/sample/pgpool.conf.sample
src/sample/pgpool.conf.sample-logical
src/sample/pgpool.conf.sample-master-slave
src/sample/pgpool.conf.sample-replication
src/sample/pgpool.conf.sample-stream
src/test/extended-query-test/expected/statement_level_load_balance.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/statement_level_load_balance.data [new file with mode: 0644]
src/test/extended-query-test/test.sh
src/test/extended-query-test/tests_n3/statement_level_load_balance.data [new file with mode: 0644]
src/test/regression/tests/001.load_balance/test.sh
src/utils/pool_process_reporting.c