PostgreSQL에서 DB에 존재하는 테이블과 컬럼을 조회하려면 특정 테이블을 조회해야한다.
조회 방법에 앞서 information_schema
에 대해 알아야한다.
information_schema
란?
DB에 속한 데이터들의 정보를 담고 있는 메타데이터이다.
스키마 정보, 테이블 정보, 컬럼 정보 등등 가지고 있다.
테이블 조회
1. pg_stat_user_tables
사용하여 테이블 조회하기
SELECT schemaname -- 스키마 명
, relname -- 테이블 명
FROM pg_stat_user_tables
pg_stat_user_tables
테이블을 조회하면 사용자가 접근할 수 있는 모든 데이터베이스와 테이블 내역을 보여준다.
2. information_schema
사용하여 테이블 조회하기
select table_schema -- 스키마 명
, table_name -- 테이블 명
from information_schema.tables
where 1=1
and table_schema = '조회하려는 스키마 명'
and table_type = 'BASE TABLE'
information_schema.tables
를 조회하면 스키마와 테이블 명을 확인 할 수 있다.
여기서 BASE TABLE
은 create table
을 통해 생성된 테이블이다.
컬럼 조회
1. information_schema 사용하여 컬럼 조회하기
select table_schema -- 스키마 명
, table_name -- 테이블 명
, column_name -- 컬럼 명
, data_type -- 데이터 타입
, is_nullable -- nullable 값(YES / NO)
from information_schema.columns
where 1=1
and table_schema = '스키마 명'
and table_name = '테이블 명'
information_schema.columns
를 조회하면 해당 테이블에 대한 컬럼 정보를 확인 할 수 있다.