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

Reply via email to