One problem I've had in development recently is the inability to get the aliased name of a table from a query. We're using a PHP framework for querying, which internally uses pg_field_name to retrieve the select list field name, which is great. There is alwo pg_table_name, to retrieve the table the field originated from. The problem is that this returns the name of the table, unaliased. If a query does a self join, you can't retrieve a distinguishing table alias name for that field. For example:
SELECT a.mycolumn, b.mycolumn
FROM mytable a, mytable b
WHERE ...
If I controlled query generation at all times, I could simply alias a.mycolumn and b.mycolumn differently in the select list. But if for example this is SELECT * FROM, those columns are indistinguishable.
Cheers,
Scott