Make calling autocommit with the same value as set a NOOP to suppress the warning WARNING: there is already a transaction in progress from the PostgreSQL database (e.g. in prosody or prosodyctl). See also upstream commit: https://code.google.com/p/luadbi/source/detail?r=aab3ed7d93fe9b10b75e302c787737999a8b4a5f --- lua-dbi-0.5/dbd/postgresql/connection.c 2010-05-01 06:25:12.000000000 +0200 +++ lua-dbi-0.5/dbd/postgresql/connection.c.pgsql_transaction 2013-04-26 02:02:31.000000000 +0200 @@ -109,10 +109,12 @@ int err = 0; if (conn->postgresql) { - if (on) - err = rollback(conn); - else - err = begin(conn); + if (on != conn->autocommit) { + if (on) + err = rollback(conn); + else + err = begin(conn); + } conn->autocommit = on; }