[Pgpool-hackers] Major features for V3.2

Tatsuo Ishii ishii at sraoss.co.jp
Thu Oct 20 07:29:09 UTC 2011


Hi pgpool hackers,

I'm implementing on memory query cache for 3.2 as you know. Other
features I would like to add to 3.2 include:

1) Deal with SEQUENCE problem by using query rewriting technique
(native replication mode)

Currently pgpool-II handles DML queries involving SEQUENCE by using
table or row locking. Problem with this is, 1) reducing concurrency 2)
fragile (once the SEQUENCE is out of sync among DB nodes, there's no
hope of automatic recovery). Query rewriting technique used for
timestamp can be used for this as well I think. Consider:

INSERT INTO t1 VALUES(nextval('foo'));

We execute SELECT nextval('foo') on the master and fetch the
value. Then rewrite the query into:

INSERT INTO t1 VALUES(100);

for the master. For slaves, we send:

INSERT INTO t1 VALUES(100);
SELECT setval('foo', 100);

This way, we can avoid locking and can keep consistency of sequence
values among servers.

2) Incorporate PostgreSQL 9.1's parser

Pgpool-II has the "raw parser" of PostgreSQL. Every major release
PostgreSQL changes it. So we need to update everytime PostgreSQL major
release happens.

So my question is, anyone wants to tuckle #1 or #2?
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp


More information about the Pgpool-hackers mailing list