At 11:32 AM -0400 9/5/07, Tom Lane wrote:
Alvaro Herrera <[EMAIL PROTECTED]> writes:
Owen Hartnett wrote:
I've been able to turn on statement logging (I've set log_statement to
'all'), but it doesn't seem to show the begin transaction - commit -
rollback statements. Is there another way to have them show up in the log?
If they don't show up, they are not being executed at all; which
explains why your transactions "don't roll back", because there are no
transaction blocks defined at all.
In PG 8.2 I'd agree, but older versions are not so good about logging
execution of prepared statements. What's the server version exactly,
and is there any indication of use of prepared statements in the log?
regards, tom lane
That's what I thought at first, but then I went to pgAdmin's SQL page
and typed in "Begin" and ran it. No log shows up, but when I run it
again from pgAdmin (and from my application), I get a "no nested
transactions allowed" error (which I know Npgsql doesn't support),
which indicates there's a transaction there which is not getting
logged.
If I run transactions with ADO's normal Execute* functions, they work
fine. It's when I'm trying to use the dataset write back routines,
with a NpgsqlTransaction and a NpgsqlCommandBuilder using Update,
Insert and Delete commands on multiple tables one after another that
it behaves as if the transaction isn't there, though it blithely
accepts the begintransaction and commit commands without complaining.
I'm running the latest, 8.2.4. The server is Mac OS X Server and
Windows XP (of course) clients running the ADO software and npgsql
stuff.
-Owen
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq