--- libdbi-drivers-0.8.3-1.orig/drivers/pgsql/dbd_pgsql.c 2008-01-26 20:39:50.000000000 +0300 +++ libdbi-drivers-0.8.3-1/drivers/pgsql/dbd_pgsql.c 2011-05-09 02:20:00.000000000 +0400 @@ -426,10 +426,10 @@ } if (pattern == NULL) { - return (dbi_result_t *)dbi_conn_queryf((dbi_conn)conn, "SELECT relname FROM pg_class WHERE relname !~ '^pg_' AND relkind = 'r' AND relowner = (SELECT datdba FROM pg_database WHERE datname = '%s') ORDER BY relname", db); + return (dbi_result_t *)dbi_conn_queryf((dbi_conn)conn, "SELECT relname FROM pg_class WHERE relname !~ '^pg_' AND relkind = 'r' AND relowner = (SELECT usesysid FROM pg_user WHERE usename = user) ORDER BY relname"); } else { - return (dbi_result_t *)dbi_conn_queryf((dbi_conn)conn, "SELECT relname FROM pg_class WHERE relname !~ '^pg_' AND relname LIKE '%s' AND relkind = 'r' AND relowner = (SELECT datdba FROM pg_database WHERE datname = '%s') ORDER BY relname", pattern, db); + return (dbi_result_t *)dbi_conn_queryf((dbi_conn)conn, "SELECT relname FROM pg_class WHERE relname !~ '^pg_' AND relname LIKE '%s' AND relkind = 'r' AND relowner = (SELECT usesysid FROM pg_user WHERE usename = user) ORDER BY relname", pattern); } }