> On Tue, May 31, 2011 at 8:08 PM, Tatsuo Ishii <is...@postgresql.org> wrote: > [snip] >> In summary, >> >> 1) "LOCK table foo" cannot be used because of conflict with autovacuum >> 2) "LOCK sequence" just doesn't work >> 3) "SELECT 1 FROM LOCK sequece" fails after XID wraparound >> >> If you have other idea to serialize concurrent INSERT to a table, I >> would like to hear from you. > > Sorry, I'm not real familiar with pgpool, but have you thought about > using an advisory lock on the target table, instead of a "real" lock > (SELECT ... FOR UPDATE / LOCK table)? An advisory lock should not > interfere with autovacuum. Obviously, this would only work if all the > INSERTs in your example were coming from a single application (i.e. > pgpool) which would honor the advisory lock.
Problem with the advisory lock is, it will not work if the target table is empty. -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese: http://www.sraoss.co.jp -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers