Tutorial

A hands-on guide to Local and Central Differential Privacy in PostgreSQL using the anon extension. The mechanisms documented here extend PostgreSQL Anonymizer's masking-functions catalog with formal DP guarantees. Each page links to a matching interactive demo on this site.

Who this is for

  • Analysts and DBAs who need to release statistics without exposing rows.
  • Engineers wiring anon.ldp_* and anon.dp_* calls into a pipeline.
  • Reviewers and curious readers who want to know exactly what the mechanisms do, and why.

You're expected to know basic SQL. No prior background in differential privacy is assumed; the Concepts page builds it up from scratch.

What's covered

  • Concepts. What ε actually means, sensitivity, local vs central.
  • Mechanisms. Each LDP/DP mechanism we ship: when to use it, the math in one paragraph, the SQL signature, common pitfalls.
  • Recipes. Task-shaped how-tos: release a histogram, release a private mean, pick the most common category.
  • Parameter guide. Picking ε, when to clip, central-vs-local decision tree.
  • Security & limitations. Composition, post-processing, what these mechanisms protect and what they don't.

Where to start