책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9791195942596
· 쪽수 : 320쪽
· 출판일 : 2025-12-11
책 소개
몇 년전 MariaDB에 대한 책을 출간한 후, 오픈소스 DBMS 시리즈의 후속작으로 초보자를 위한 PostgreSQL(DBA편)을 선보이게 되었다. 이 책은 DBMS의 기본이 되는 시스템 관리 및 구조에 대한 내용으로 구성하였다. 이를 통해 오픈소스 DBMS에 관심 있는 많은 분들이 PostgreSQL의 구조를 이해하는데 도움이 될 것이라고 생각한다.
상용 DBMS를 사용하던 다수의 고객사들이 오픈소스 DBMS로 전환을 시도하고 있다. 이 책이 오픈소스 DBMS로 전환하는 많은 고객사들이 겪는 어려움을 해결하는데 일조하길 바란다. 또한, 이 책을 통해 막연히 어렵게 느껴졌던 PostgreSQL에 대해 자신감을 갖게되고, 더 나아가 오픈소스 DBMS의 안정적 정착을 이끄는 안내서가 되기를 소망한다.
이 책의 대상 독자
이 책은 PostgreSQL에 대해 실무를 접하기 어려운 학생 또는 PostgreSQL DBA를 준비하는 분 또는 Oracle 등의 다른 DBMS로 DBA 업무를 수행하다가 PostgreSQL DBA를 준비하시는 분들을 위해 만들어진 책이다. 실제 PostgreSQL을 구축하고 운영하는 실무자들이 집필함으로써 실무에 필요한 이론 및 예제를 쉽게 전달하고자 하였다.
이 책의 구성
이 책은 크게 8개의 Chapter로 구성되어 있으며, 각 Chapter에 대해 간략히 소개하면 다음과 같다.
Part 01. PostgreSQL 메모리
이 단원에서는 PostgreSQL이 사용하는 메모리 구조에 대해 중점적으로 설명하고 있다. 데이터베이스의 메모리 구조는 다른 소프트웨어에 비해 매우 복잡하게 구성된다. 이와 같은 PostgreSQL의 메모리 구조를 확인하는 것이 DBMS 학습의 시작일 것이다.
Part 02. PostgreSQL 프로세스
PostgreSQL의 메모리를 관리하고 운영하기 위해서는 다양한 프로세스가 필요하다. 이 단원에서는 PostgreSQL 메모리를 관리하고 운영하는 다양한 프로세스들의 역할에 대해 자세히 설명한다.
Part 03. 트랜잭션
PostgreSQL은 다른 데이터베이스에 비해 트랜잭션의 개념 및 관리가 복잡하다. PostgreSQL의 트랜잭션에 대한 이해가 없다면 뒤에서 언급한 Vacuum에 대한 이해가 더욱 어려워질 것이다. 이 단원에서는 PostgreSQL의 트랜잭션에 대해 알기 쉽게 자세히 설명한다.
Part 04. Vacuum
이 단원에서는 다른 데이터베이스에는 존재하지 않는 Vacuum의 종류 및 방식에 대해 자세히 설명하고 있다. 이 단원에서는 PostgreSQL의 Vacuum이 왜 필요하며 내부적으로 어떻게 동작하는지 알아본다.
Part 05. PostgreSQL 주요 파일
데이터베이스를 관리하고 운영하기 위해서는 많은 파일들을 참고하고 사용하게 된다. PostgreSQL에서 사용하는 파일들에 대한 종류와 각각의 파일들이 어떻게 사용되고 관리되는지에 대해 확인해 보자.
Part 06. 데이터베이스, 스키마, 유저 및 권한
데이터베이스를 처음에 사용하기 위해서는 데이터베이스, 스키마, 유저 및 권한에 대한 이해가 필수적이다. 이 단원에서는 이와 같은 항목에 대해 예제를 통해 자세히 설명하고 있다. 이 단원을 통해 실제 DBMS의 기본적인 사용이 가능할 것이다.
Part 07. 오브젝트
오브젝트는 데이터를 포함한 오브젝트와 포함하지 않는 오브젝트로 구분된다. 데이터 또는 저장 영역을 포함하는 오브젝트는 테이블, 인덱스, 파티션 등이 있다. 데이터 또는 저장 영역을 포함하지 않는 오브젝트는 뷰, 시퀀스, 트리거, 프로시저 등이 있다. 이 단원에서는 PostgreSQL에서 주로 사용하는 오브젝트를 중심으로 내용을 설명한다,
Part 08. 데이터베이스 정보 확인 및 모니터링
데이터베이스는 많은 사용자가 사용하고 다양한 프로세스와 오브젝트가 존재하기 때문에 이에 대한 전반적인 이해가 있어야 효과적으로 데이터베이스를 운영할 수 있다. 이 단원에서는 데이터베이스 정보를 확인할 수 있는 시스템 카탈로그 및 동적 뷰와 함수를 어떻게 활용하는지 자세히 설명한다.
목차
머리말
감수평
서 문
PART 01. PostgreSQL 메모리
section 01 PostgreSQL 메모리 구조
section 02 Shared Buffer
section 03 WAL Buffer (Write-Ahead Logging Buffer)
section 04 CLOG Buffer
section 05 Other Buffer
PART 02. PostgreSQL 프로세스
section 01 PostgreSQL 프로세스의 역할 및 종류
section 02 Postgres 프로세스
section 03 Client 프로세스와 Backend 프로세스
section 04 Background 프로세스
section 05 BG Writer 프로세스
section 06 WAL Writer 프로세스
section 07 Checkpointer 프로세스
section 08 Logger 프로세스
section 09 Autovacuum Launcher 프로세스와 Autovacuum Worker 프로세스
section 10 Archiver 프로세스
PART 03. 트랜잭션
section 01 트랜잭션 ID
section 02 테이블 로우와 DML
section 03 FSM (Free Space Map)과 CLOG
section 04 트랜잭션 ID Wraparound
section 05 트랜잭션 Snapshot
section 06 Isolation 레벨에 따른 MVCC (Multi-version Concurrency Control)
section 07 Isolation 레벨에 따른 현상
PART 04. Vacuum
section 01 Vacuum의 필요성
section 02 Vacuum의 종류
section 03 VM (Visibility Map)의 개념
section 04 Concurrent Vacuum
section 05 Freeze 프로세싱
section 06 Full Vacuum
section 07 Concurrent Vacuum vs Full Vacuum
section 08 Autovacuum
PART 05. PostgreSQL 주요 파일
section 01 PostgreSQL 주요 파일의 종류
section 02 파라미터 설정 파일의 개념 및 종류
section 03 파라미터 적용 레벨 및 우선 순위
section 04 파라미터 변경 및 확인 방법
section 05 postgresql.conf 파일의 작성 방법
section 06 접근 제어 인증 파일
section 07 Socket 파일의 개념
section 08 Socket 파일의 관리
section 09 로그 파일
section 10 PID 파일
PART 06. 데이터베이스, 스키마, 유저 및 권한
section 01 PostgreSQL 오브젝트 구조
section 02 데이터베이스
section 03 스키마 (Schema)
section 04 스키마 (Schema) Search Path
section 05 유저, Role 및 권한
section 06 유저와 Role의 관리
section 07 public 스키마와 public Role
section 08 권한의 개념
section 09 권한의 관리
section 10 권한의 종류
PART 07. 오브젝트
section 01 테이블 (Table)의 개념
section 02 테이블 (Table)의 종류
section 03 테이블 (Table)의 관리
section 04 인덱스 (Index)의 개념
section 05 인덱스 (Index)의 관리
section 06 뷰 (VIEW)의 개념
section 07 뷰 (VIEW)의 관리
section 08 시퀀스 (Sequence)의 개념
section 09 시퀀스 (Sequence)의 관리 및 사용
section 01 데이터베이스 정보 확인 및 모니터링 개념
section 02 프로세스 관련 정보
section 03 메모리 관련 정보
section 04 쿼리 관련 정보
section 05 테이블 / 인덱스 / 유저 / 권한 관련 정보
section 06 WAL (Write Ahead Log) 관련 정보
PART 08. 데이터베이스 정보 확인 및 모니터링
section 01 데이터베이스 정보 확인 및 모니터링 개념
section 02 프로세스 관련 정보
section 03 메모리 관련 정보
section 04 쿼리 관련 정보
section 05 테이블 / 인덱스 / 유저 / 권한 관련 정보
section 06 WAL (Write Ahead Log) 관련 정보



















