> > a way to enable a function to commit a unit of work that
> > does not affect the caller's transaction.
> you can establish an independent connection within a function in, say,
> PL/Perl or PL/Python.
Okay, multiple connections seems to be my best shot. However, I would
like standard developers to be able to stay in PL/pgSQL and SQL. If
each of our anonymous transactions needs to be coded in PL/Perl then
people are not as happy. (Silly people.)
So, can I write some dirty little utility functions (in PL/Perl, C,
whatever) that a PL/pgSQL caller use to somehow switch connections? The
way our apps are currently structured I'm picturing that each app's
logical connection is actually two physical connections: the main thread
of control happens on one connection, and autonomous transactions happen
on the other connection.