Use pg_roles instead of pg_authid when obtaining database list

pg_authid is only accessible by superuser, since it contains password.
pg_roles is a cloned view of pg_authid, with the passwords removed. So
it's more accessible than pg_authid. Thus we don't need to use a user
with escalated privileges just to get the database list.