Możesz uzyskać typy danych z information_schema (dokumenty 8.4, o których mowa tutaj, ale nie jest to nowa funkcja):
=# 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)