すべてのユーザテーブルのカラムについて、データ型とデフォルト値を調べるSQLは、
SELECT
n.nspname || '.' || c.relname AS table,
a.attname AS column,
format_type(a.atttypid, a.atttypmod) AS type,
(SELECT
pg_get_expr(d.adbin, d.adrelid)
FROM
pg_attrdef d
WHERE
d.adrelid = a.attrelid AND
d.adnum = a.attnum AND
a.atthasdef
) AS default
FROM
pg_attribute a,
pg_class c,
pg_namespace n
WHERE
a.attrelid = c.oid AND
c.relnamespace = n.oid AND
a.attnum > 0 AND
NOT a.attisdropped AND
c.relkind = 'r' AND
n.nspname <> 'pg_catalog' AND
n.nspname <> 'information_schema' AND
n.nspname !~ '^pg_toast'
ORDER BY
n.nspname,
c.relname,
a.attnum;