Puede obtener tipos de datos de information_schema (documentos 8.4 a los que se hace referencia aquí, pero esta no es una función nueva):
=# select column_name, data_type from information_schema.columns
-# where table_name = 'config';
column_name | data_type
--------------------+-----------
id | integer
default_printer_id | integer
master_host_enable | boolean
(3 rows)