SQLでテーブル定義の取得

今あるテーブルオブジェクトからORM興してみたかったので。
とっかかり。
https://gist.github.com/letitride/5070978

SELECT
  a.attname, 
  ty.typname,
  a.atttypid,
  a.atthasdef,
  a.attnotnull,
  a.attisdropped,
  d.description
from
  pg_stat_user_tables t
  join pg_attribute a on
    t.relid = a.attrelid
  join pg_type ty on
    a.atttypid = ty.oid 
  left join pg_description d on
    a.attrelid = d.objoid and a.attnum = d.objsubid
where
    a.attisdropped = false
  and a.attnum > 0
order by a.attnum;