Database 5

[PostgreSQL] Database I/O 통계 정보 모니터링

PostgreSQL에서는 pg_stat_database 이라고 하는 View 테이블을 통해 각 Database의 통계 정보를 제공합니다. 이를 통해 Database 수준의 I/O 활동과 성능 메트릭을 모니터링할 수 있습니다. Database 전체의 전반적인 상태를 파악하는 데 유용하며, 성능 튜닝 및 모니터링에 자주 사용됩니다. 1. 주요 컬럼 정보컬럼명설 명참 조datid Database 의 OID(고유 식별자). datname Database 이름. numbackends현재 Database 에 연결된 백엔드(Client 연결) 수.이 값이 높으면 해당 Database 에 지나치게 많은 연결이 이루어지고 있다는 것을 의미합니다. 높은 연결 수는 성능 저하를 일으킬 수 있습니다.xact_commit Da..

Database/PostgreSQL 2024.11.22

[PostgreSQL] Table Size 확인

PostgreSQL에서 Table Size 확인 시 아래 쿼리를 통해 조회가 가능합니다. 1) 특정 Table Size 확인 (index 포함) # select pg_size_pretty(pg_total_relation_size('Table명')); postgres=# select pg_size_pretty(pg_total_relation_size('pg_class')); pg_size_pretty ---------------- 224 kB (1개 행) 2) 특정 Table Size 확인 (index 미포함) # select pg_size_pretty(pg_relation_size('Table명')); postgres=# select pg_size_pretty(pg_relation_size('pg_cla..

Database/PostgreSQL 2022.10.28

[PostgreSQL] DB 및 Tablespace Size 확인

PostgreSQL에서 DB 및 Tablespace Size 확인 시 아래 쿼리를 통해 조회가 가능합니다. 1) 특정 DB Size 확인 # select * from pg_size_pretty(pg_database_size ('DB명')); postgres=# select * from pg_size_pretty(pg_database_size ('postgres')); pg_size_pretty ---------------- 7255 kB (1개 행) 2) 전체 DB Size 확인 # select pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) AS size FROM pg_database; postgres=# SELECT..

Database/PostgreSQL 2022.10.27

[PostgreSQL] PostgreSQL 서비스 수동 중지 및 시작

Windows 서버에서 PostgreSQL 을 운영하는 도중 다양한 이유로 인해 Windows 서비스에서 PostgreSQL 서비스가 컨트롤(중지 및 시작) 되지 않는 경우가 발생할 수 있습니다. 이때 PostgreSQL에서 제공해 주는 pg_ctl.exe를 통해 수동으로 서비스를 중지 및 시작할 수 있습니다. 우선 pg_ctl.exe 은 PostgreSQL 이 설치된 디렉토리 중 bin 디렉토리에 위치하며, 해당 파일이 하는 역할은 크게 아래와 같습니다. pg_ctl.exe 는 PostgreSQL 데이터베이스 제반 작업을 수행하게 됩니다. 이 작업은 데이터베이스 클러스터 초기화, 서버 시작, 중지, 재시작, 서버 상태 출력 등입니다. 물론 서버는 postgres 명령으로 직접 실행할 수 있으나, pg_..

Database/PostgreSQL 2021.02.02

[PostgreSQL] Vacuum 이란?

1. Vacuum 이란? Vacuum은 DB의 오래된 영역을 재사용하거나 정리 해주는 프로세스입니다. PostgreSQL에서 특정 Row를 업데이트 할 경우, 디스크 상의 해당 Row를 물리적으로 업데이트하여 사용하지 않고, 새로운 영역을 할당해 쓰게 됩니다. 즉, Update나 Delete 한다고 해서, 해당영역이 자동으로 재사용되거나 사라지지 않는다. 이러한, 오래된 영역을 재사용하거나 정리해주는 명령어가 Vacuum 입니다. 2. Vacuum 종류 1) Vacuum - 삭제 된 데이터나 Update된 데이터의 이전 버전을 마킹 하여 그 공간을 다시 사용할 수 있게 해 주는 기본 Vacuum 입니다. 2) Vacuum Freeze - 삭제 된 데이터만이 아니라 남아있는 데이터에 대해서도 XID를 2로..

Database/PostgreSQL 2020.12.24