PostgreSQL Generated Columns by Example | POSETTE: An Event for Postgres 2026
Skills:
Database Integration80%
See what generated columns being virtual by default means in Postgres 18. Paolo Melchiorre (PSF Fellow) walks through examples in his talk “PostgreSQL Generated Columns by Example” at POSETTE: An Event for Postgres 2026. Abstract: PostgreSQL generated columns are a powerful feature, and recent releases have significantly expanded what they can do. With PostgreSQL 18, generated columns are now virtual by default, while still allowing stored behavior, introducing new trade-offs around performance, storage, and query behavior.
In this talk, we explore PostgreSQL generated columns *by example*, using concrete, practical scenarios to understand how they behave and when they are a good fit. We will look at how generated columns evolved across PostgreSQL versions, what problems they solve well, and where careful design is still required.
To ground these examples in real-world usage, the talk uses Django as a concrete case study of how PostgreSQL generated columns are exposed and used through a widely adopted Python framework. This helps show how database features are actually used in production, and how ORM abstractions influence their adoption.
The talk also reflects recent improvements in Django 6.0 that better align with PostgreSQL’s generated column behavior. Attendees will leave with a clear mental model, practical examples, and guidance on when to use virtual versus stored generated columns in real systems.
Paolo Melchiorre is a Python backend developer, Django contributor, Python Software Foundation Fellow and Django Software Foundation Director.
► Video chapters:
⏩ 00:00 – Music & introduction
⏩ 00:25 – What generated columns really are
⏩ 01:33 – Speaker background & Django context
⏩ 03:14 – Why compute logic in the database
⏩ 05:00 – From idea to Django 5.0 feature
⏩ 07:02 – Generatedfield internals explained
⏩ 08:30 – Circle demo: auto-calculating area
⏩ 10:51 – Item & order examples: totals and status
⏩ 14:34 – JSON fields, performance, and benchmarks
⏩ 19
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: Database Integration
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Compact JavaScript Signal/Observer Pattern: Balancing Brevity and Functionality in 33 Bytes
Dev.to · Pavel Kostromin
Getting the public IP in Node.js and Express — no API key, no rate limits, no hassle
Dev.to · Vix
Tired of Searching for Different Base64 Tools? I Built One Place for Everything
Dev.to · Satyendra Vishwakarma
Why Developers Are Switching from Firebase to Supabase (And You Should Too)
Dev.to · Mahdi BEN RHOUMA
🎓
Tutor Explanation
DeepCamp AI