~/talk

A Deep Dive into PostgreSQL Indexing

Talkat PGConf NYC 2022 · 2022-09-22..09-23· [databases]
linkedin:ibrarahmed74
slides:none on file

Explains when an index actually speeds queries and when it hurts, shows using pg_stat_statements to find candidates, and contrasts index types with concrete tradeoffs: default B‑Tree for ranges and equality, Hash for equality only, BRIN for time‑range blocks (example: full index 214 MB vs partial index 240 KB), GIN/GiST for JSON/arrays and spatial data, and index‑only scans when the index contains all needed columns. Covers partial index benefits, index-only scan behavior, that partitioned tables get per‑partition index files, and warns about the concurrent CREATE INDEX bug in 14.0–14.3 (fixed 14.4).

AI-written summary · about

  1. 0:00Introduction to PostgreSQL indexing
  2. 10:13Heap vs index concept
  3. 14:25Concurrent index creation
  4. 16:31Expression indexes explained
  5. 20:29Partial indexes and their use
  6. 23:44B-tree indexes deep dive
  7. 27:18Index-only scans
  8. 29:50Hash indexes overview
  9. 32:18BRIN indexes for ranges
  10. 35:28GIN indexes for documents
  11. 38:43Index types summary
  12. 40:12Duplicate index detection
  13. 41:46Index size and performance
  14. 45:01Monitoring indexes
  15. 45:44Partitioned table indexes
  16. 47:15Unique indexes and constraints
  17. 48:44Index file locations
  18. 50:11Time series and BRIN
  19. 50:52Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.