information_schemaからデータ型を取得できます(ここで参照されている8.4ドキュメントですが、これは新しい機能ではありません):
=# 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)