Thread: Force explicit transactions on insert / update

Force explicit transactions on insert / update

From
Jesper Krogh
Date:
Hi.

Is there any way I can force explicit use of transactions on
insert/updates?

I do have users sitting on the system, that may forget to code it that
way and it would be nice to be able to force the database to just kick
them out if it didn't happen.

--
Jesper

Re: Force explicit transactions on insert / update

From
"Kevin Grittner"
Date:
Jesper Krogh <jesper@krogh.cc> wrote:

> Is there any way I can force explicit use of transactions on
> insert/updates?
>
> I do have users sitting on the system, that may forget to code it
> that way and it would be nice to be able to force the database to
> just kick them out if it didn't happen.

Not that I can think of, unless you pass the queries through some
proxy which enforces the rule.  Generally, a statement outside of an
explicit transaction block starts its own transaction for just that
statement, just as if the statement were wrapped in BEGIN/COMMIT.
You could maybe get glimpses of such statements by periodically
looking at pg_stat_activity for statements which have the same
timestamp for xact_start and query_start.

-Kevin