[pgpool-general: 1500] Re: Load balancing changes between 2.x and 3.x

Joshua D. Drake jd at commandprompt.com
Fri Mar 15 08:18:03 JST 2013


On 03/14/2013 04:09 PM, Tatsuo Ishii wrote:
>
>>> Yes. Main difference is, 3.x does more load balance when operated in
>>> streaming replication mode. For example, even if you in an explicit
>>> transaction block, pgpool allows to load balance SELECTs.
>>
>> So using:
>>
>> BEGIN;
>> SELECT
>> COMMIT;
>>
>> In 2.x will not be load balanced but in 3 it will?
>
> Yes, if you set:
>
> master_slave_mode = on
>
> However, please note, if you mix write queries, no load balance.
>
> BEGIN;
> SELECT <-- load balance
> SELECT <-- again load balance
> UPDATE
> SELECT <-- no load balance any more
> COMMIT;

Considering this, what is the best way to handle the use of functions 
that do writes? Using 2.x if we do this:

select update_function();

It will get load balanced. However if we do this:

BEGIN;
select update_function();
COMMIT;

It will not get load balanced. How do we achieve the same behavior in 3.x?

Sincerely,

Joshua D. Drake


-- 
Command Prompt, Inc. - http://www.commandprompt.com/
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC
@cmdpromptinc - 509-416-6579


More information about the pgpool-general mailing list