Thread: NOTICE: (transaction aborted): queries ignored until END
Hi, I'm use Postgres-6.5.1 on Linux. My database contains two tables and two indices. I wrote simple program on C that - begins transaction: BEGIN WORK - inserts many (10-500) rows in the first table - commits the transaction: COMMIT - begins transaction: BEGIN WORK - inserts many (1-50) rows in the second table - commits the transaction: COMMIT During execution of this program I receive very often the following message: NOTICE: (transaction aborted): queries ignored until END that repeated many times. What means this message? And why this happens? Best regards, Alex
Alex Guryanow wrote: > > Hi, > > I'm use Postgres-6.5.1 on Linux. My database contains two tables and two > indices. I wrote simple program on C that > - begins transaction: BEGIN WORK > - inserts many (10-500) rows in the first table > - commits the transaction: COMMIT > - begins transaction: BEGIN WORK > - inserts many (1-50) rows in the second table > - commits the transaction: COMMIT > > During execution of this program I receive very often the following > message: > > NOTICE: (transaction aborted): queries ignored until > END > > that repeated many times. > > What means this message? And why this happens? > > Best regards, > Alex That message appears when an error has occurred in a transaction. It means that no other SQL statements will be processed until the transaction has ended and a new one has begun. For example: CREATE TABLE example(key text); => begin; BEGIN => insert into example values ('foo'); INSERT 181193 1 => insert into example values ('bar', 20); ERROR: INSERT has more expressions than target columns => insert into example values ('bar'); NOTICE: (transaction aborted): queries ignored until END *ABORT STATE* => commit; END => select * from example; key --- (0 rows) It sounds as if some of your INSERT statements are not being properly executed, often due to embedded single quotes in text strings, lack of NULL values for missing datetime values, or some other such syntax error. You should be able to use PQresultStatus() and PQerrorMessage() to determine precisely the error which is causing the transaction to abort. Hope that helps, Mike Mascari
Re: [SQL] NOTICE: (transaction aborted): queries ignored until END
From
neko@kredit.sth.szif.hu
Date:
On Sun, 19 Dec 1999, Alex Guryanow wrote: > NOTICE: (transaction aborted): queries ignored until > What means this message? And why this happens? If an error occured inside a transaction, the whole transaction will be droped. If the first query fails it is the simplest way to do nothing with subsequent querys. (and the first action of course will be rollbacked) If you want know what happend, you need look for the error message, before the first "transaction aborted" notice. -- nek;(
Hello, Do you know why this command doesn't work ? > select * from T; x|y -+- 1|1 1|2 2|1 2|2 2|3 > select X,Y from T group by X having Y=min(Y); ERROR: Illegal use of aggregates or non-group column in target list My goal is quite simple : get only one line per X value (the value which is returned for Y is not important as long as it's one of the values linked to the right X). The query "select X,Y from T group by X" works under MySQL and returns exactly what I want, how can I do it in PostgreSQL ? Thanks for your help, Alain
Thanks Mike, I had the same problem and couldn't figure it out. I forgot that since the last time I ran this type of routine I had added some quotes in. I forgot to add the routines to handle the single quotes in the new program. Tim in Columbia MD On Sat, 18 Dec 1999, Mike Mascari wrote: > Alex Guryanow wrote: > > > > NOTICE: (transaction aborted): queries ignored until > > > > What means this message? And why this happens? > > > > Best regards, > > Alex > > That message appears when an error has occurred in a > transaction. It means that no other SQL statements will be > processed until the transaction has ended and a new one has > begun. For example: > > It sounds as if some of your INSERT statements are not being > properly executed, often due to embedded single quotes in > text strings, lack of NULL values for missing datetime > values, or some other such syntax error. You should be able > to use PQresultStatus() and PQerrorMessage() to determine > precisely the error which is causing the transaction to > abort. > > Hope that helps, > > Mike Mascari >