~/talk

Explore the role of PostgreSQL in GitLab ecosystem

Talkat pgDay Paris 2025 · on Thursday, 2025-03-20· [databases, software-architecture]
links:none on file
slides:none on file

Reverse engineering of GitLab 16.6 shows PostgreSQL as the primary store for core data (users, projects, CI) with a two‑database split (main + CI), one primary and read replicas managed with Consul, Patroni and PgBouncer. Analysis uses DataGrip, an EXPLAIN visualizer, AppMap and synthetic data generation. Schema has 689 tables in public schema and 2,790 indexes; projects table has 83 columns and 59 indexes. GitLab implements mirror tables, triggers and background jobs for cross‑database consistency, mandates EXPLAIN before/after migrations, and limits 100 queries per request.

AI-written summary · about

  1. 0:00Introduction to talk
  2. 2:32What is GitLab
  3. 4:39GitLab deployment models
  4. 8:21PostgreSQL in GitLab
  5. 10:50Database schema milestones
  6. 14:55Database schemas overview
  7. 16:46Database anti-patterns
  8. 19:15Normalization challenges
  9. 20:19GitLab database workflows
  10. 23:56Query monitoring tools
  11. 24:41Extensions and indexes
  12. 26:51Query caching strategies
  13. 28:21ORM and query optimization
  14. 31:37Research outcomes
  15. 33:24Q&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.