Thanks for the replies. That's kind of what I figured, though it would be interesting if it were possible. For example, if a financial institution could allow their clients direct connections to a database, the clients (or anyone) could build absolutely any interface to it they want. I think that would be awesome. I was also thinking a bit more broad than just finance. Could PG be used, for example, as a multiplayer strategy game server where clients can directly connect without another middleware daemon? Seems to me like it has everything necessary, except for this problem. Perhaps this could be worked around by building a slim proxy for PG connections (and maybe one exists, I haven't looked). All it would really need to do, I think, is filter BEGIN commands so clients could not start transactions to hold locks. All tables would be non-accessible to clients except through SECURITY DEFINER functions, so I don't think there's any other way they could grab a lock, or cause too much trouble (correct me if I'm wrong!). > You cannot manage transactions inside functions. A function always > runs inside a single transaction. Actually from the pl/pgsql manual it looks like you can raise an error and have it abort the surrounding transaction. If that's true it should be robust. Thanks, Micah -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general