추천사 xiii
추천 서문(조시 롱) xvi
머리말 xix
이 책에 대하여 xxi
감사의 글 xxv
표지에 대하여 xxvii
PART I 관계형 데이터베이스로서의 PostgresCHAPTER 1 Postgres 만나기
1.1 왜 Postgres가 인기가 많을까요? 4
1.2 “그냥 Postgres를 쓰세요!”의 의미 6
1.3 도커에서 Postgres 시작하기 7
1.4 psql로 연결하기 11
1.5 모의 데이터 생성하기 13
1.6 기본 쿼리 실행하기 17
CHAPTER 2 표준 RDBMS 기능
2.1 데이터베이스 구조 생성하기 22
2.2 데이터 쿼리 및 조작하기 31
2.3 데이터 무결성 34
2.4 트랜잭션 42
2.5 조인 49
2.6 함수와 트리거 52
2.7 뷰 65
2.8 역할과 접근 제어 70
요약 77
CHAPTER 3 현대적인 SQL
3.1 현대적 SQL이란 무엇일까요? 79
3.2 음악 서비스 데이터 세트 로드하기 80
3.3 공통 테이블 표현식 82
3.4 재귀적 쿼리 91
3.5 윈도 함수 97
요약 104
CHAPTER 4 인덱스
4.1 왜 인덱스가 그토록 인기를 끌까요? 106
4.2 Postgres 인덱스 유형 개요 108
4.3 멀티플레이어 게임 데이터 세트 로드하기 110
4.4 EXPLAIN 문 사용법 배우기 112
4.5 단일 칼럼 인덱스 117
4.6 복합 인덱스 127
4.7 커버링 인덱스 138
4.8 부분 인덱스 141
4.9 함수 및 표현식 인덱스 144
요약 147
PART II 관계형 모델을 넘어선 핵심 PostgresCHAPTER 5 Postgres와 JSON
5.1 JSON 데이터 저장하기 152
5.2 피자 주문 데이터 세트 로드하기 154
5.3 Postgres에서의 JSON: 균형 맞추기 157
5.4 JSON 데이터 쿼리하기 160
5.5 JSON 데이터 수정하기 172
5.6 JSON 데이터 인덱싱 176
요약 191
CHAPTER 6 Postgres를 이용한 전문 검색
6.1 Postgres 전문 검색의 기초 193
6.2 전문 검색을 위한 데이터 준비 200
6.3 전문 검색 수행하기 207
6.4 검색 결과의 순위 매기기 213
6.5 검색 결과 강조하기 220
6.6 어휘소 인덱싱 223
요약 230
PART III 확장 기능 및 광범위한 생태계CHAPTER 7 PostgreSQL의 확장 기능
7.1 Postgres 확장성의 기원 233
7.2 확장 기능 시작하기 234
7.3 개발자를 위한 필수 확장 기능 243
7.4 Postgres 호환 솔루션 245
요약 246
CHAPTER 8 생성형 AI를 위한 Postgres
8.1 생성형 AI와 함께 Postgres를 사용하는 방법 248
8.2 pgvector와 함께 Postgres 시작하기 252
8.3 임베딩 생성하기 255
8.4 벡터 유사도 검색 262
8.5 임베딩 인덱싱 269
8.6 RAG 구현하기 284
요약 292
CHAPTER 9 시계열 데이터를 위한 Postgres
9.1 Postgres가 시계열 데이터를 처리하는 방식 294
9.2 TimescaleDB와 함께 Postgres 시작하기 298
9.3 시계열 데이터 로드하기 301
9.4 TimescaleDB 하이퍼테이블 탐색하기 303
9.5 시계열 데이터 분석하기 309
9.6 연속 집계 사용하기 318
9.7 시계열 데이터 인덱싱 324
요약 338
CHAPTER 10 공간 데이터 처리를 위한 Postgres
10.1 Postgres가 지리 데이터를 처리하는 방식 340
10.2 PostGIS와 함께 Postgres 시작하기 345
10.3 OpenStreetMap 데이터 세트 로드하기 348
10.4 지리 공간 데이터 시각화 354
10.5 지리 공간 데이터 쿼리하기 357
10.6 공간 인덱스를 활용한 지리 데이터 검색 최적화 371
요약 384
CHAPTER 11 PostgreSQL을 메시지 큐로 사용하기
11.1 언제 Postgres를 메시지 큐로 사용하는가 386
11.2 커스텀 메시지 큐 구축하기 388
11.3 커스텀 큐 사용하기 393
11.4 LISTEN/NOTIFY 활용하기 398
11.5 큐 구현 시 고려 사항 401
11.6 pgmq로 Postgres 시작하기 407
11.7 pgmq 사용하기 410
요약 415
APPENDIX A 다섯 가지 최적화 팁 417
A.1 EXPLAIN 완벽하게 마스터하기 418
A.2 인덱스 사용 시점을 파악하라 420
A.3 커넥션 풀링을 사용하라 424
A.4 정말 필요한 데이터만 조회하라 426
A.5 데이터베이스의 연산 능력을 활용하라 429
APPENDIX B Postgres를 사용하지 말아야 할 때
추천 후기(블라드 미할체아) 432
찾아보기 436