Chapter 36 — Further Reading
PostgreSQL extensions (💻 Developer · 🏗️ DBA — start here, theme #4)
- pgvector (https://github.com/pgvector/pgvector) — vector storage and similarity search in PostgreSQL; distance operators, HNSW/IVFFlat indexes. The basis of Case Study 1.
- PostGIS (https://postgis.net/) — the de facto spatial extension; geography types,
ST_*functions, GiST indexes. The basis of Case Study 2; superb docs and workshops. - TimescaleDB (https://www.timescale.com/) — time-series on PostgreSQL (hypertables,
time_bucket, compression, retention).
Vectors & AI (everyone building AI features)
- "What are embeddings?" explainers (OpenAI, Cohere, Hugging Face docs) — how text/images become vectors representing meaning.
- RAG (Retrieval-Augmented Generation) tutorials — using vector search to ground LLMs in your data; the dominant pattern for AI apps over private data.
- Dedicated vector DBs: Pinecone, Weaviate, Milvus, Qdrant docs — and "pgvector vs. dedicated vector database" comparisons (when to graduate).
- ANN indexes (HNSW, IVF) — how approximate nearest-neighbor search scales.
Time-series & spatial (🏗️ DBA · 📊 Analyst)
- Prometheus / InfluxDB docs — purpose-built time-series databases; useful contrast with TimescaleDB.
- PostGIS workshop / "Introduction to PostGIS" — hands-on spatial SQL.
Search (revisit Chapter 16)
- PostgreSQL full-text search (Chapter 16) vs. Elasticsearch/OpenSearch — when each is right (Chapter 16's Case Study 2).
Reference (this book)
- Chapter 16 — Advanced SQL: JSONB and full-text (PostgreSQL's built-in specialized features).
- Chapter 25 — Partitioning: the basis of time-series scaling/retention.
- Chapter 23 — Indexing: GIN/GiST/HNSW — specialized indexes for specialized data.
- Chapter 37 — The Database Decision: the framework for choosing.
Do, don't just read
- Try pgvector on a small set of texts: generate embeddings, store them, run a similarity search, and feel "search by meaning."
- Try PostGIS with a few points:
ST_DWithinfor "near me," and compare to naive distance math (Case Study 2). - For one specialized need in your domain, prototype the PostgreSQL-extension version before considering a dedicated database.
Next: Chapter 37 — The Database Decision: how to choose the right database (closes Part VI).