Re: [GENERAL] NOTICE: (transaction aborted): queries ignored until END
От | Mike Mascari |
---|---|
Тема | Re: [GENERAL] NOTICE: (transaction aborted): queries ignored until END |
Дата | |
Msg-id | 385C3BE0.D307E8B5@mascari.com обсуждение исходный текст |
Ответ на | NOTICE: (transaction aborted): queries ignored until END (Alex Guryanow <gav@nlr.ru>) |
Ответы |
Re: [GENERAL] NOTICE: (transaction aborted): queries ignored until
END
|
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: