Adding quotes to pg_hba_lookup function makes it different from others. The issues regarding the same is already discussed in [1].
select a.database[1], b.datname from pg_hba_lookup('postgres','kommih','::1') as a, pg_database as b where a.database[1] = b.datname;
The queries like above are not possible with quoted output. It is very rare that the pg_hba_lookup function used in join operations, but still it is better to provide data without quotes. so I reverted these changes in the attached latest patch.
That's a good point. I wonder that maybe instead of re-introducing quotes we could somehow make the unquoted keywords that have special meaning stand out, e.g:
database | {$sameuser} user_name | {$all}
That should make it obvious which of the values are placeholders and doesn't interfere with joining database or user catalogs (while I would call "sameuser" a very unlikely name for a database, "all" might be not that unlikely name for a user, e.g. someone called like "Albert L. Lucky" could use that as a login name).