반응형
postgresql 테이블 명세서 (정의서)
postgresql 테이블 명세서 쿼리, 테이블 정의서 쿼리 작성 내용입니다.
postgresql 쿼리
- 테이블명세서 (정의서) 내용입니다.
- [테이블 설명], [칼럼명], [칼럼 COMMENT], [DATA TYPE], [길이], [소수점], [기본값], [NOT NULL여부], [PK 여부]
SELECT
T.TABLE_NAME, -- 테이블 명
OBJ_DESCRIPTION(T.TABLE_NAME::REGCLASS) AS TABLE_COMMENT, -- 테이블 설명
C.COLUMN_NAME, -- 컬럼명
COL_DESCRIPTION(T.TABLE_NAME::REGCLASS, C.ORDINAL_POSITION) AS COLUMN_COMMENT, -- 컬럼 COMMENT
C.DATA_TYPE, -- DATA TYPE
C.CHARACTER_MAXIMUM_LENGTH AS LENGTH, -- 길이
C.NUMERIC_SCALE AS SCALE, -- 소수점
C.COLUMN_DEFAULT AS DEFAULT_VALUE, -- 기본값
CASE C.IS_NULLABLE WHEN 'YES' THEN 'YES' ELSE 'NO' END AS IS_NULLABLE, -- NOT NULL 여부
CASE WHEN KCU.CONSTRAINT_NAME IS NOT NULL THEN 'YES' ELSE 'NO' END AS IS_PK -- PK 여부
FROM
INFORMATION_SCHEMA.TABLES T
JOIN INFORMATION_SCHEMA.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME AND T.TABLE_SCHEMA = C.TABLE_SCHEMA
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU
ON T.TABLE_NAME = KCU.TABLE_NAME AND C.COLUMN_NAME = KCU.COLUMN_NAME
AND KCU.CONSTRAINT_NAME = 'PRIMARY'
WHERE
T.TABLE_SCHEMA = 'public' -- 스키마 이름으로 필터링
ORDER BY
T.TABLE_NAME, C.ORDINAL_POSITION;
- TABLE_NAME: 테이블의 이름을 나타냅니다.
- TABLE_COMMENT: 테이블에 대한 설명(확장 속성)을 가져옵니다.
- COLUMN_NAME: 칼럼의 이름을 나타냅니다.
- COLUMN_COMMENT: 칼럼에 대한 설명(확장 속성)을 가져옵니다.
- DATA_TYPE: 칼럼의 데이터 타입을 나타냅니다.
- LENGTH: 문자열 칼럼의 최대 길이를 나타냅니다.
- SCALE: 숫자 칼럼의 소수점 이하 자릿수를 나타냅니다.
- DEFAULT_VALUE: 칼럼의 기본값을 나타냅니다.
- IS_NULLABLE: 칼럼이 NULL을 허용하는지 여부를 나타냅니다.
- IS_PK: 해당 칼럼이 PRIMARY KEY인지 여부를 나타냅니다.
반응형
'db > postgresql' 카테고리의 다른 글
windows postgresql on/off 자동 실행 (0) | 2024.06.06 |
---|---|
postgresql tool 사용하기 pgadmin 사용 (0) | 2024.03.21 |
postgresql 계정 생성 (0) | 2024.03.21 |
postgresql 설치, 설치확인 (0) | 2024.03.21 |