The following bug has been logged on the website: Bug reference: 6497 Logged by: Ryan Lowe Email address: rl...@pablowe.net PostgreSQL version: 9.1.3 Operating system: Linux Description:
There is an edge case where Postgres will return an error to the client, but commit the operation anyway, thus breaking the contract with the client: postgres=# begin; insert into s.t (c) values (1); <postgres process core dumps (note that the forked processes were not affected)> postgres=# commit; <this returns an error to the application> <postgress process restarts> The data is now on both the master and slave, but the application believes that the transaction was rolled back. A well-behaved application will dutifully retry the transaction because it *should* have rolled back. However, the data is there so we'll have had the transaction execute *twice*. -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs