본문 바로가기
PostgreSQL

[PostgreSQL] pg_catalog

by Ssun's 2021. 3. 26.

시스템 카탈로그란?

1. 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스

 

2. 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이ㅓㅌ 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블

 

3. 데이터 정의어 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계정보 저장

 

4. 카탈로그들이 생성되면 자료사전에 저장되기 때문에 좁은 의미로는 카탈로그를 자료 사전이라고도 함

 

5. 카탈로그에 저장된 정보를 메타 데이터라고 함

 

 

카탈로그의 특징

1. 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용 검색 가능

 

2. INSERT, DELETE, UPDATE문으로 카탈로그 갱신은 허용되지 않음

 

3. 데이터베이스 시스템에 따라 상이한 구조를 갖는다

 

4. 카탈로그는 DBMS가 스스로 생성하고 유지

 

5. 카탈로그의 갱신 : 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동을 갱신

 

6. 분산 시스템에서의 카탈로그 : 보통의 릴레이션, 인덱스, 사용자 등에 정보를 포함할 뿐 아니라 위치 투명성 및 중복 투명성을 제공하기 위해 필요한 모든 제어 정보를 가져야함

 

 

 

pg_catalog

 - 각 DB 내부에 존재하는 schema

   ( 데이터베이스 구조 : Database -> Schema -> Table (Object..) )

 

1. 시스템 카탈로그 테이블

스키마명 테이블명 설명
pg_catalog pg_configuration_history DB 상태 이력 저장
pg_catalog pg_attribute 컬럼 정보
pg_catalog pg_class Object 관리테이블(Table, Index, View 등)
pg_catalog pg_index 인덱스 관리
pg_catalog pg_constraint 제약조건
pg_catalog pg_language 언어 관리
pg_catalog pg_namespace 스키마 정보
pg_catalog pg_proc 함수, 프로시저 관리
pg_catalog pg_stat_last_operation 테이블 이력 관리

 

pg_catalog pg_tablespace 테이블스페이스 관리

 

2. 시스템 카탈로그 뷰

pg_catalog pg_group DB user의 그룹 정보
pg_catalog pg_indexes 인덱스
pg_catalog pg_locks lock
pg_catalog pg_roles role
pg_catalog pg_settings parameter
pg_catalog pg_shadow DB user 정보
pg_catalog pg_tables 테이블
pg_catalog pg_user user
pg_catalog pg_views view
pg_catalog pg_stat_activity 세션 정보

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글