logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

PostgreSQL DBA를 위한 Admin 이야기

PostgreSQL DBA를 위한 Admin 이야기

김시연, 최두원 (지은이)
DBian(디비안)
29,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
29,000원 -0% 0원
870원
28,130원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

PostgreSQL DBA를 위한 Admin 이야기
eBook 미리보기

책 정보

· 제목 : PostgreSQL DBA를 위한 Admin 이야기 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 데이터베이스 프로그래밍 > SQL
· ISBN : 9791191941111
· 쪽수 : 416쪽
· 출판일 : 2025-07-15

책 소개

PostgreSQL DBA가 실무에서 수행하는 다양한 업무를 중심으로 구성되어 있다. 설치 및 환경 구축부터 오브젝트 관리, 아키텍처 이해, 주요 파라미터 설정, 물리 복제와 논리 복제, 백업 및 복구, 모니터링, 그리고 Vacuum까지, PostgreSQL 운영에 필요한 전반적인 내용을 폭넓게 다루고 있다.
- 어떤 내용을 다뤘나요?
이 책은 PostgreSQL DBA가 실무에서 수행하는 다양한 업무를 중심으로 구성되어 있습니다. 설치 및 환경 구축부터 오브젝트 관리, 아키텍처 이해, 주요 파라미터 설정, 물리 복제와 논리 복제, 백업 및 복구, 모니터링, 그리고 Vacuum까지, PostgreSQL 운영에 필요한 전반적인 내용을 폭넓게 다루고 있습니다.

- 책에서 다루지 않는 내용은?
이 책은 성능 튜닝이나 쿼리 튜닝과 같은 최적화 관련 주제를 다루지 않습니다. 해당 내용은 필자가 실제 수행한 PostgreSQL 튜닝 프로젝트 경험을 바탕으로, 별도의 책으로 기획하고 있습니다.

- 누가 읽으면 좋은가요?
PostgreSQL을 1~2년 정도 경험해 본 분들이나, 타 DBMS에는 익숙하지만 PostgreSQL을 새롭게 시작하는 단계에 있는 분들께 적합한 책입니다.

- 읽으면 안 되는 분들도 있나요?
이 책은 PostgreSQL 입문자나 실무 경험이 적은 DBA를 대상으로 하고 있습니다. 따라서 PostgreSQL에 이미 깊은 전문성을 갖춘 분들께는 다소 쉬운 내용일 수 있으며, 그런 분들께는 이 책을 권하지 않습니다. 난이도는 초급에서 중급 수준으로, 실무에 바로 적용할 수 있는 기초와 응용 중심의 내용을 담고 있습니다.

- 책을 쓰면서 가장 신경 쓴 부분은?
책을 집필하면서 가장 신경 쓴 부분은 현장의 경험을 바탕으로, DBA 업무에 실질적인 도움이 될 수 있는 실용적인 내용을 담는 것이었습니다.
또한 수차례에 걸친 윤문을 통해, 필자가 전달하고자 하는 내용을 독자들이 보다 쉽게 이해할 수 있도록 표현을 다듬고 정제했습니다.
특히 주요 개념과 동작 원리는 40여 개의 그림을 활용해 시각적으로 설명함으로써, 복잡한 내용을 보다 직관적으로 이해할 수 있도록 구성했습니다.

- 책 읽는 방법
이 책은 1장부터 순서대로 읽는 것을 권장합니다. 앞에서 설명한 내용을 이해해야만 다음 내용을 효과적으로 습득할 수 있습니다.
책에 포함된 실습 예제들은 가능하면 직접 타이핑해 보시길 바랍니다. 스스로 타이핑하며 오류를 겪고 시행착오를 해결해 나가는 과정에서 실력이 자연스럽게 쌓이게 됩니다.
다만, 7장 '모니터링'에서 제공하는 주요 스크립트들은 아래 GitHub 링크를 통해 다운로드할 수 있습니다.
https://github.com/SiyeonAcademy/postgresql/blob/main/postgresql_script.zip

목차

1장. 환경구축

1.1 설치
____PostgreSQL 엔진 설치
____데이터베이스 클러스터 생성
1.2 인스턴스 시작 및 정지
____pg_ctl 명령어를 이용한 인스턴스 제어 방법
____DB 서버 재시작 시에 인스턴스 자동 시작 방법
1.3 접속하기
____로컬 접속
____pg_hba.conf 파일을 이용한 접속 관리
____원격접속을 위한 설정
____유저 패스워드 암호화 방식
1.4 클라이언트 툴
____psql
1.5 데이터베이스 환경 구축
____유저 생성
____롤 생성
____데이터베이스 생성
____스키마 생성
____권한 관리
____슈퍼유저 권한, CREATE 롤과 시스템 롤
____익스텐션 설치

2장. 오브젝트

2.1 테이블
____테이블 생성
____테이블 복사
____테이블 재구성
____테이블 관리 명령어
2.2 인덱스
____인덱스 생성
____CIC (Create Index Concurrently) 옵션
____인덱스 리빌드
____인덱스 관리 명령어
2.3 파티션
____파티션 개요
____RANGE 파티션
____LIST 파티션
____HASH 파티션
____파티션 인덱스
____인덱스 ONLY 옵션
____파티션 관리 명령어
2.4 뷰(View)
____뷰 특징
2.5 시퀀스
____시퀀스 특징
____시퀀스 관리 명령어
2.6 함수
____함수 실행 권한

3장. 아키텍처

3.1 인스턴스
____공유 메모리
____프로세스
____데이터베이스 클러스터 주요 디렉토리와 파일들
3.2 테이블스페이스
____pg_default 테이블스페이스
____pg_global 테이블스페이스
____사용자 테이블스페이스 생성
____TEMP 테이블스페이스
3.3 테이블
____테이블 (Heap 테이블)
____Unlogged 테이블
____Temp 테이블
____TOAST (The Oversized-Attribute Storage Technique)
3.4 (운영 Tip) Template 데이터베이스 기능 활용 방안

4장. 파라미터 설정 가이드

4.1 로그 관련 파라미터
____logging_collector
____log_directory
____log_filename
____log_line_prefix
____log_lock_waits
____log_rotation_size
____log_statement

4.2 접속 관련 파라미터
____max_connections
____superuser_reserved_connections
____listen_addresses
____port
4.3 메모리 관련 파라미터
____shared_buffers
____wal_buffers
____work_mem
____temp_buffers
____hash_mem_multiplier
____maintenance_work_mem
4.4 체크포인트 관련 파라미터
____checkpoint_timeout
____max_wal_size
4.5 WAL (Write Ahead Log) 관련 파라미터
____wal_level
____wal_keep_size
____min_wal_size
____wal_log_hints
____checkpoint_completion_target
4.6 Autovacuum 관련 파라미터
____autovacuum
____autovacuum_max_workers
____log_autovacuum_min_duration
4.7 병렬 처리 관련 파라미터
____max_worker_processes
____max_parallel_workers
____max_parallel_workers_per_gather
____max_parallel_maintenance_workers
4.8 세션 관리 파라미터
____idle_in_transaction_session_timeout
4.9 압축 관련 파라미터
____wal_compression
____default_toast_compression
4.10 모니터링 관련 파라미터
____log_min_duration_statement
____shared_preload_libraries
____pg_stat_statements.max
____pg_stat_statements.track
____track_activity_query_size
____compute_query_id
____auto_explain.log_min_duration
____auto_explain.log_analyze
____auto_explain.log_buffers
4.11 옵티마이저 관련 파라미터
____effective_cache_size
____random_page_cost
____jit
4.12 아카이브 설정 관련 파라미터
____archive_mode
____archive_command
4.13 파라미터 설정 레벨 및 적용 순서
____파라미터 적용 순서
____pg_settings 뷰 살펴보기

5장. 복제

5.1 물리 복제
____물리 복제 구성 절차
____물리 복제 아키텍처
____동기화 모드 유형
____동기 모드 복제 구성 절차
____동기화 레벨
____Cascade 복제 구성 절차
5.2 논리 복제
____논리 복제 구성 절차
____논리 복제 아키텍처와 동작 순서
____Publication 생성 옵션 및 설정 변경
____Subscription 생성 옵션 및 설정 변경
____양방향 논리 복제
5.3 논리/물리 복제를 활용한 전일자 배치 환경 구성
5.4 복제 슬롯
____미사용 슬롯의 문제점
____WAL 디스크 볼륨 공간 부족으로 인스턴스 비정상 종료 시의 조치 방법
____max_slot_wal_keep_size 파라미터를 이용한 장애 방지 방안
5.5 LSN과 WAL 파일명

6장. 백업과 복구

6.1 논리 백업과 복구
____pg_dumpall을 이용한 백업
____pg_dump를 이용한 백업
____psql과 pg_restore를 이용한 복원
____pg_restore를 이용한 복구
____COPY
6.2 물리 백업과 복구
____백업 및 복구 개요
____pgBackRest 설치 및 환경 파일 설정
____pgBackRest를 이용한 백업
____pg_basebackup을 이용한 전체 백업
____pg_basebackup을 이용한 증분 백업
____pgBackRest를 이용한 완전 복구
____pgBackRest를 이용한 완전 복구 (Delta 옵션)
____pg_basebackup을 이용한 완전 복구 (전체 백업)
____pg_basebackup을 이용한 완전 복구 (증분 백업)
____pgBackRest를 이용한 시점 복구 (별도 서버)
____pgBackRest를 이용한 시점 복구 (동일 서버)
____pg_basebackup을 이용한 시점 복구 (별도 서버)
____불필요한 아카이브 파일 정리 방법

7장. 모니터링

7.1 성능 모니터링 개요
7.2 데이터베이스 모니터링
____pg_stat_database 뷰를 이용한 데이터베이스 성능 모니터링
7.3 세션 모니터링
____pg_stat_activity 뷰를 이용한 세션 모니터링
7.4 SQL 모니터링
____1회 수행 시 응답시간이 느린 쿼리 모니터링
____런타임 실행계획 확인: auto_explain 활용
____반복 수행으로 과부하를 주는 쿼리 모니터링
7.5 IO 모니터링
____버퍼 액세스 전략과 링 버퍼
____pg_stat_io 뷰를 이용한 시스템 레벨의 I/O 성능 분석
____pg_stat_all_tables와 pg_statio_all_tables 뷰를 이용한 테이블 IO 분석
____pg_stat_wal 뷰를 이용한 WAL I/O 모니터링
7.6 복제 모니터링
____pg_stat_replication 뷰를 이용한 복제 지연 분석
7.7 작업 진행 상황 모니터링
____인덱스 생성 진행 상황 모니터링
____Vacuum 진행 상황 모니터링
____Vacuum Full 진행 상황 모니터링
____COPY 진행 상황 모니터링

8장. 트랜잭션과 대기이벤트

8.1 트랜잭션과 락(Lock)
____로우 레벨(Row-Level) 락
____테이블 레벨 락
____데드락 (Deadlocks)
____멀티 트랜잭션 (Multi-Transaction)
____pg_locks 뷰
____Virtual XID
____fastpath
8.2 대기이벤트
____대기이벤트 유형
____대기이벤트 모니터링 방법
____DataFileRead 대기이벤트
____WAL Insert 대기이벤트
____WALWrite & WalSync 대기이벤트
____BufferMapping 대기이벤트
____transactionid 대기이벤트
____tuple 대기이벤트
____virtualxid 대기이벤트
____relation 대기이벤트

9장. Vacuum

9.1 MVCC 모델과 PostgreSQL MVCC의 특징
____MVCC의 이해
____PostgreSQL MVCC의 특징
____32비트 XID 문제 해결을 위한 2가지 기법
____정리
9.2 Vacuum 기본
____Vacuum 수행 방법과 옵션
____Vacuum 유형별 WAL 발생량
____Vacuum 작업 수행 시 페이지 내의 변경 사항
____vacuumlo를 이용한 Orphan LOB 정리 방법
____AGE란?
____Visibility Map
9.3 Vacuum과 Autovacuum 관련 주요 파라미터
____Autovacuum 프로세스의 역할
____Autovacuum 작업 주기 설정용 파라미터
____Autovacuum 작업 부하 조절용 파라미터
____Autovacuum: Vacuum 및 Analyze 작업 시점 계산용 파라미터
____Autovacuum: Frozen 작업 관련 파라미터
9.4 Slow Query 수행과 Vacuum
____데드 튜플 삭제 기준 (Cutoff) 정책
____테스트를 통한 동일 레코드 반복 업데이트 문제점 확인
9.5 복제 충돌과 Hot Standby Feedback
____복제 충돌 현상 발생 원인
____Vacuum 수행에 의한 스냅샷 복제 충돌
____스냅샷 복제 충돌 현상을 지연시키는 방법
____스냅샷 복제 충돌 현상을 제거하는 방법
____DDL 수행에 의한 락 복제 충돌 현상
9.6 HOT (Heap-Only Tuples)와 fillfactor
____HOT 탄생 배경과 기본 컨셉
____HOT 동작 원리
____fillfactor와 HOT 업데이트 최적화

부록
PSQL 주요 명령어
PSQL 메타 명령어
테이블 주요 Storage 파라미터
주요 익스텐션
____pg_prewarm
____Autoprewarm
____pg_buffercache
____pgstattuple
____pageinspect

저자소개

김시연 (지은이)    정보 더보기
27년 이상 데이터베이스 분야에 몸담아온 성능 튜닝 전문가이다. 20년 넘게 오라클 및 엑사데이터 기반의 성능 진단과 튜닝에 집중해 왔으며, 최근 5년 동안은 주로 PostgreSQL과 EDB 환경에서 성능 컨설팅과 DBA 업무를 수행해왔다. 연세대학교 공과대학원에서 컴퓨터공학을 공부했으며, 이전 직장인 (주)엑셈에서는 약 15년간 삼성전자를 포함한 다양한 고객사를 대상으로 오라클 성능 컨설팅을 수행했으며 컨설팅본부장을 역임했다. 최근 5년간의 주요 프로젝트로는 신한투자증권 메타 프로젝트를 비롯해 교보문고 차세대, KT 지역화폐, 신한은행 ‘땡겨요’ 배달앱 등이 있으며, 이들 프로젝트에서 PostgreSQL 및 EDB 기반의 배치/온라인 시스템의 성능 개선과 DBA 업무를 수행했다. 저서로는 <PostgreSQL 9.6 성능 이야기>와 그 영문판 <PostgreSQL 9.6 Performance Story>(Amazon 출간) 및 <Transaction Internals in 10gR2>(2008)가 있으며, 번역서로는 <Oracle 코어>(2012), <OWI를 활용한 오라클 진단 & 튜닝>(2005) 등이 있다.
펼치기
최두원 (지은이)    정보 더보기
26년 이상 데이터베이스 분야에 몸담아온 성능 튜닝 전문가이다. 개발자로서 일본 야치요 은행 프로젝트를 수행했으며, 이후 데이터베이스 보안과 성능 튜닝에 집중해왔다. 최근 8년간은 PostgreSQL과 EDB 환경에서 성능 컨설팅과 DBA 업무를 수행하고 있다. 삼성디스플레이 EDB 전환 프로젝트를 시작으로 신한투자증권 메타 프로젝트, 교보문고 차세대, 롯데멤버스 채널시스템, 신한은행 ‘땡겨요’ 배달앱 등에서 PostgreSQL 및 EDB 기반의 배치·온라인 시스템 성능 개선과 DBA 업무를 맡았다. 현재는 SaaS형 모니터링 툴인 와탭에서 데이터베이스 모듈 설계와 컨설팅을 수행하고 있다. 저서로는 <PostgreSQL 9.6 성능 이야기>가 있다.
펼치기

책속에서



이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책