[PostgreSQL] 데이터베이스 정보 확인_테이블 외

gayoung·2024년 2월 19일

DB

목록 보기
15/16

1. 사용자 확인

select * from pg_user 
where usename not like 'rds%'

이때, usename not like 'rds%' 하는 이유

  • rdsadmin : superuser 권한이 있는 관리자가 독립 실행형 PostgreSQL 데이터베이스에서 수행할 수 있는 많은 관리 태스크를 처리하기 위해 생성된 역할(내가 생성한 user 또는 master user 아님)
  • rdstopmgr : 다중 AZ 배포를 지원하기 위해 Amazon RDS에서 내부적으로 사용하는 역할

2. 스키마의 권한 및 owner user 확인

select y.*, x.usename
from pg_catalog.pg_namespace y 
    LEFT OUTER join pg_user x
    ON x.usesysid = y.nspowner
where y.nspname  not like 'rds%'
and y.nspname not like 'pg%'
order by 2

3. 데이터베이스 내의 모든 테이블, 인덱스, 시퀀스, 뷰 등의 객체에 대한 정보 확인

select * from pg_class ; 
  • relkind: 객체의 종류('r'=테이블, 'i'=인덱스, 'S'=시퀀스, 'v'=뷰)

4. 스키마별 데이터베이스 내의 모든 객체에 대한 정보 확인

select y.nspname, x.relkind, count(*)
from pg_class x, pg_namespace y
where x.relnamespace = y.oid
group by y.nspname, x.relkind
order by 1,2

5. 데이터베이스 내의 함수와 프로시저에 대한 정보 확인

select * from INFORMATION_SCHEMA.ROUTINES

5. 데이터베이스 내의 함수와 프로시저에 대한 정보 확인

select * from INFORMATION_SCHEMA.ROUTINES

6. 데이터베이스 내의 시퀀스에 대한 정보 확인

select * from INFORMATION_SCHEMA.sequences

7. 데이터베이스 내의 확장에 대한 정보 확인

select * from pg_extension

7. 데이터베이스 내의 인덱스에 대한 정보 확인

select * from pg_indexes;
  • pk, fk, unique index 등등 보여줌

0개의 댓글