PostgreSQL Generated Columns by Example | POSETTE: An Event for Postgres 2026

Microsoft Developer · Beginner ·🔧 Backend Engineering ·5d ago
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

Related AI Lessons

Compact JavaScript Signal/Observer Pattern: Balancing Brevity and Functionality in 33 Bytes
Learn to implement a compact JavaScript Signal/Observer pattern in just 33 bytes, balancing brevity and functionality
Dev.to · Pavel Kostromin
Getting the public IP in Node.js and Express — no API key, no rate limits, no hassle
Get the public IP in Node.js and Express without API keys or rate limits
Dev.to · Vix
Tired of Searching for Different Base64 Tools? I Built One Place for Everything
Learn how to use a single tool for all Base64 needs, simplifying development workflows
Dev.to · Satyendra Vishwakarma
Why Developers Are Switching from Firebase to Supabase (And You Should Too)
Learn why developers are switching from Firebase to Supabase due to unpredictable pricing, NoSQL limitations, and vendor lock-in, and how to migrate your app
Dev.to · Mahdi BEN RHOUMA
Up next
🚨 Swiggy Hiring Associate SDE 2025 | Java & Go Backend | Freshers Eligible #hiring #swiggy
hackathonwalebhaiya
Watch →