Mika Fischer <mf+ubuntu@zoopnet.de> writes:
> What the current code does is:
> Run "psql -l" to get the list of local databases, and
> run "psql -qtc 'select usename from pg_user' template1" to get the list
> of users. If this fails the system users are used for completion.
> I'm not at all a PostgreSQL expert so I can't even comment on whether
> this is a smart thing to do or not.
It's not, IMHO. You don't even know if the local database is where the
user is intending to connect to. Moreover this presupposes some rather
obsolete ideas about what connection parameters might need to be given
on the command line.
Something that might be more useful is to see if there's a connection
service file
http://developer.postgresql.org/pgdocs/postgres/libpq-pgservice.html
and offer the names of service entries in it.
regards, tom lane