티스토리 뷰

Skill/postgreSQL

postgresql 테이블 주석

진열사랑 2023. 10. 17. 17:29

출처:https://blog.nachal.com/m/1631

1. 테이블의 주석(코멘트/설명) 출력
/* 테이블 주석 셀렉트 */
SELECT N.NSPNAME, C.RELNAME, OBJ_DESCRIPTION(C.OID)
FROM PG_CATALOG.PG_CLASS C INNER JOIN PG_CATALOG.PG_NAMESPACE N ON C.RELNAMESPACE=N.OID
WHERE C.RELKIND = 'r'
AND NSPNAME = '데이터베이스명'
AND RELNAME = '테이블명'


2. 테이블의 컬럼명과 주석(코멘트/설명) 출력
/* 컬럼 주석 셀렉트 */
SELECT
PS.RELNAME AS TABLE_NAME,
PA.ATTNAME AS COLUMN_NAME,
PD.DESCRIPTION AS COLUMN_COMMENT
FROM PG_STAT_ALL_TABLES PS, PG_DESCRIPTION PD, PG_ATTRIBUTE PA
WHERE PD.OBJSUBID<>0
AND PS.RELID=PD.OBJOID
AND PD.OBJOID=PA.ATTRELID
AND PD.OBJSUBID=PA.ATTNUM
AND PS.SCHEMANAME='스키마'
AND PS.RELNAME='테이블'
ORDER BY PS.RELNAME, PD.OBJSUBID

3. 주석과 컬럼 타입
test SELECT PS.SCHEMANAME AS SCHEMA
, PS.RELNAME
, PA.ATTNAME
, CASE WHEN POSITION('(' IN PD.DESCRIPTION) > 1 THEN SUBSTRING(PD.DESCRIPTION, 1, POSITION('(' IN PD.DESCRIPTION)-1)
ELSE PD.DESCRIPTION END AS ATTKRNAME -- 한글컬럼명 괄호 전까지만 자르기
, CASE WHEN PA.ATTNUM = ANY(PC.CONKEY) THEN 'PK' ELSE '' END AS PK
, TBL.DATA_TYPE
FROM PG_STAT_USER_TABLES PS
, INFORMATION_SCHEMA.COLUMNS TBL
, PG_DESCRIPTION PD
, PG_ATTRIBUTE PA
, PG_CATALOG.PG_CONSTRAINT PC
WHERE PS.SCHEMANAME IN ('sppdb', 'spsdb')
AND TBL.TABLE_SCHEMA = PS.SCHEMANAME
AND TBL.TABLE_NAME = RELNAME
AND PS.RELID = PD.OBJOID
AND PD.OBJSUBID != 0
AND PD.OBJOID = PA.ATTRELID
AND PD.OBJSUBID = PA.ATTNUM
AND PS.RELID = PC.CONRELID
AND PS.RELNAME = 'tb_pymt_ctgr';

'Skill > postgreSQL' 카테고리의 다른 글

postgresql filter사용  (0) 2023.11.02
postgresql merge  (0) 2023.10.18
postgresql 문자열 위치  (0) 2023.10.17
PostgreSQL 시퀀스(Sequence)  (0) 2023.07.17
[postgresql] generate_series함수  (0) 2023.07.04
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함