반응형
/********************************************************************************************
-- Title : [9.2] PGDATA, 데이터 디렉토리(../data) 레이아웃 & 아키텍처
-- Reference : http://www.postgresql.org/docs/9.0/static/storage-file-layout.html
histlinux.egloos.com
-- Key word : data pgdata 파일 레이아웃 아키텍처 architecture 데이터디렉토리 데이터 디렉토리
data directory 클러스터 cluster
********************************************************************************************/
-- PostgreSQL Architecture
-- PGDATA구조
-- 일반적인 데이터 디렉토리 경로 확인
postgres$ echo $PGDATA
/home/postgres/pgsql/data
-- 디렉토리 내용 보기
postgres$ cd $PGDATA
postgres$ ll
-- PGDATA 내용
ㅇ PG_VERSION : PostgreSQL의 주요 버전 번호를 보유하는 파일.
postgres$ cat PG_VERSION
ㅇ base : 데이터베이스마다 하위 디렉토리를 보유.
각 데이터베이스의 디렉토리 생성. 각 디렉토리에는 테이블과 인덱스 파일 생성.
pg_default 테이블스페이스 경로.
ㅇ global : pg_database 같은 클러스터에서 공유 테이블을 보유.
모든 데이터베이스에서 공유하는 서버 카탈로그 테이블 존재.
pg_global 테이블스페이스 경로.
ㅇ pg_multixact : 멀티 트랜잭션의 상태 데이터를 보유.
공유 행 잠금에서 사용.
저수준(Row-level)의 락(Lock) 상태 파일들이 존재.
ㅇ pg_notify : LISTEN/NOTIFY 상태 데이터를 보유.
ㅇ pg_serial : 커밋된 serializable 트랜잭션에 대한 정보를 보유.
ㅇ pg_snapshots : 내보내기 된 스냅샷을 보유.
ㅇ pg_stat_tmp : 통계용 하위 시스템을 위한 임시 파일 보유.
통계 서브시스템에 대한 임시(Temporary) 파일들이 존재.
ㅇ pg_subtrans ; 서브 트랜잭션의 상태 데이터를 보유.
서브트랜잭션(Subtransaction) 상태 파일들이 존재.
ㅇ pg_tblspc : 테이블스페이스에 대한 심볼릭 링크를 보유.
ㅇ pg_towpahse : 준비된 트랜잭션에 대한 상태 파일을 보유.
2단계 커밋 또는 준비된 트랜잭션 상태 존재.
ㅇ pg_xlog : WAL(로그 선행 기입) 파일을 보유.
트랜잭션 로그(또는 Write Ahead Log - WAL)들이 존재.
ㅇ pg_clog : 트랜잭션의 커밋 상태의 데이터를 보유.
트랜잭션(Transaction) 상태 파일들이 존재.
ㅇ postmaster.opt : 마지막으로 서버를 시작할 때 명령 줄 옵션을 기록.
이 파일의 내용이 status 모드로 표시됨.
postgres$ cat postmaster.opts
/home/postgres/pgsql/bin/postgres
postgres$ pg_ctl status
pg_ctl: server is running (PID: 12114)
/home/postgres/pgsql/bin/postgres
ㅇ postmaster.pid : 데이터디렉토리에 이 파일이 있는지 여부에 따라 pg_ctl는 서버가 현재 실행
중인지 여부 결정.
서비스가 stop되면 이 파일이 존재하지 않음.
A lock file recording the current postmaster process ID (PID),
cluster data directory path, postmaster start timestamp,
port number, Unix-domain socket directory path (empty on Windows),
first valid listen_address (IP address or *, or empty if not listening on TCP),
and shared memory segment ID.
(this file is not present after server shutdown)
반응형