fix get_db_info

using pg_roles instead of pg_user
if database owner is a role (not user) then it can not select form pg_user table.
reviewable/pr18780/r1
TERAOKA Yoshinori 11 years ago
parent 7db7be192b
commit b8a26eda0b

@ -130,10 +130,10 @@ def get_encoding_id(cursor, encoding):
def get_db_info(cursor, db):
query = """
SELECT usename AS owner,
SELECT rolname AS owner,
pg_encoding_to_char(encoding) AS encoding, encoding AS encoding_id,
datcollate AS lc_collate, datctype AS lc_ctype
FROM pg_database JOIN pg_user ON pg_user.usesysid = pg_database.datdba
FROM pg_database JOIN pg_roles ON pg_roles.oid = pg_database.datdba
WHERE datname = %(db)s
"""
cursor.execute(query, {'db':db})

Loading…
Cancel
Save