[Pgpool-general] About insert_lock = true

Tatsuo Ishii ishii at sraoss.co.jp
Mon Jun 6 00:43:50 UTC 2011


> Hello every one in the list, I have a question related with insert_lock property. In the documentation says that if insert_lock is set to true pgpool-II automatically adds the next queries each time an INSERT is executed:
> 
> 
> BEGIN;
> LOCK TABLE ...
> INSERT INTO ...
> COMMIT;
> 
> But in postgresql logs file, I don't see a lock table statement. The logs writing in postgresql logs file are:

>From the document:

	   pgpool-II 3.0 or later uses a row lock against the sequence
	   relation, rather than table lock. This will minimize lock
	   conflict with VACUUM (including autovacuum).

So you see "SELECT 1 FROM prueba_id_seq FOR UPDATE" instead of LOCK TABLE...

> 2011-06-05 16:59:16 VET [18284]: [3-1] LOG:  statement: BEGIN
> 2011-06-05 16:59:16 VET [18284]: [4-1] LOG:  duration: 0.162 ms
> 2011-06-05 16:59:16 VET [18284]: [5-1] LOG:  statement: SELECT 1 FROM prueba_id_seq FOR UPDATE
> 2011-06-05 16:59:16 VET [18284]: [6-1] LOG:  duration: 0.771 ms
> 2011-06-05 16:59:16 VET [18284]: [7-1] LOG:  statement: INSERT INTO prueba(nombre) VALUES('Ire');
> 2011-06-05 16:59:16 VET [18284]: [8-1] LOG:  duration: 0.681 ms
> 2011-06-05 16:59:16 VET [18284]: [9-1] LOG:  statement: COMMIT
> 
> This is an expected behavior?? I'm using pgpool-3.0.4 with postgresql 8.3.14

Yes.
--
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-general mailing list