2011/6/21 Lincoln Yeoh <lyeoh@xxxxxxxxxxxxx>: > At 04:13 AM 6/20/2011, Alexander Farber wrote: >> >> why add a begin/commit if I only >> have SELECT statements >> there (in the default mode) and >> the data isn't critical to me >> (just some player statistics and >> notes by other players - i.e. >> a statistic or note is ok to be lost >> occasionally)? > > If you're not intending to write anything to the database you could try do a > rollback instead of commit. > > I'm not familiar with your system, but if you are getting > >> SQLSTATE[25P02]: In failed sql transaction: >> 7 ERROR: current transaction is aborted, >> commands ignored until end of transaction block I understood that the OP put a begin/commit around *each* request (so one around prepare, and one around exec) Php documentation contains useful information with examples. Alexander, I suggest you to just add a begin before the 'prepare' and a commit after the 'exec', not between each. > > Maybe you can do a rollback, begin, followed by your sql statements then > rollback again. > > You would get warnings for a rollback followed by rollback, but they might > not be fatal (not sure about your config). > > There might be a problem with one of the SQL queries and that's why it > cannot be committed. > > Alternatively the program logic might be bypassing a COMMIT. A BEGIN > followed by a BEGIN would cause an "already in transaction" error which > would cause the "transaction is aborted" problem. this is not correct cedric=# begin ; BEGIN cedric=# begin ; ATTENTION: une transaction est déjà en cours BEGIN cedric=# select 1; ?column? ---------- 1 (1 ligne) cedric=# commit; COMMIT -- Cédric Villemain 2ndQuadrant http://2ndQuadrant.fr/ ; PostgreSQL : Expertise, Formation et Support -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general