[pgpool-general: 1882] Re: current transaction is aborted, commands ignored

Tatsuo Ishii ishii at postgresql.org
Tue Jul 9 18:47:14 JST 2013


> Hello Tatsuo et al.,
> 
> I have a small piece of code that behaves differently through
> pgpool-II (currently development code) than through PostgreSQL 9.2:
[snip]
> The first and second statements are meant to fail in different ways,
> and the last to succeed.

Problem confirmed.

> If {server} is a pgpool-II instance then the last query is rejected
> with "current transaction is aborted, commands ignored until end of
> transaction block".  If it is a real PostgreSQL instance it succeeds
> as one would expect.  The pgpool-II server is set up in replication
> mode as per
> http://pgpool.projects.pgfoundry.org/pgpool-II/doc/pgpool-en.html.

BTW, we moved from pgpool.projects.pgfoundry.org to pgpool.net. We do
not maintain pgpool.projects.pgfoundry.org anymore.

> Note that auto-commit is default (true).
> 
> If I comment out the syntactically incorrect statement (the first
> one), then the last query succeeds with both PostgreSQL and pgpool.
> 
> Is this a bug, or expected behaviour?

A bug. pgpool automatically starts a transaction to keep consistency
among nodes in replication mode. In your case, the transaction starts,
wrong query comes in, the transaction goes into a abort state then
next query comes in and you see an error. I'm not sure if pgpool can
do anything in the situation at that point. Let me think for a while.
--
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