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_DWithin for "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).