PostgreSQL 시작하고 막히는 부분 있어서 질문 올립니다.
컬럼 정보를 디테일하게 보려고 하는데 ... 아래 쿼리 까지는 이곳 게시판 보고
어떻게든 만들어 봤습니다...
select
a.attrelid, a.attnum, a.attname, b.typname, a.attnotnull, c.description--, isprimarykey, foreginkeyname
from
"pg_catalog"."pg_attribute" a
inner join "pg_catalog"."pg_type" b on a.atttypid = b.oid
left outer join (select * from "pg_catalog"."pg_description" where objoid = (select oid from "pg_catalog"."pg_class" where relname = 'TreeTable')) c on a.attnum = c.objsubid
where
a.attrelid = c.objoid
and a.attnum > 0
and not a.attisdropped
order by
a.attnum asc;
결과는 아래와 같고요.
|
attnum
|
attname
|
typname
|
attnotnull
|
description |
1
|
1 |
TreeID |
int4 |
t |
아이디 |
2
|
2 |
ParentID |
int4 |
t |
부모아이디 |
3
|
3 |
Title |
varchar |
t |
타이틀 |
추가로 isprimarykey(boolean), foreginkeyname(string) 정보를 추가로 넣고 싶습니다만, 초보의 삽질이 진도가 안나갑니다. ㅡ.ㅡ;;
완성된 쿼리결과는 아래와 같아야합니다.
|
attnum
|
attname
|
typname
|
attnotnull
|
description |
isprimarykey |
foreginkeyname |
1
|
1 |
TreeID |
int4 |
t |
아이디 |
t |
null |
2
|
2 |
ParentID |
int4 |
t |
부모아이디 |
f |
FK_RelTable_ParentID |
3
|
3 |
Title |
varchar |
t |
타이틀 |
f |
null |
|