Из таблицы information_schema.columns можно узнать много чего полезного о колонках той или иной таблицы или всех таблиц сразу. А также и представлений.
Узнаем все данные о колонках таблиц и представлений схемы ‘public’ базы данных ‘my_database’:
select * from information_schema.columns where table_catalog = 'my_database' and table_schema = 'public'
В результатах запроса появится таблица со множеством полей, где можно узнать перечень колонок, типы их данных, длину и так далее.
Чтобы получить перечень колонок и присвоенные им номера по порядку таблицы products, надо написать
select column_name, ordinal_position from information_schema.columns where table_catalog = 'products' and table_schema = 'public' and table_name = 'products'