JSON in PostgreSQL - evil data type or just needs to be tamed? | POSETTE: An Event for Postgres 2026 @MicrosoftDeveloper
JSON in PostgreSQL - evil data type or just needs to be tamed? | POSETTE: An Event for Postgres 2026  @MicrosoftDeveloper
Uploaded June 2026 | Updated September 2026, 2 weeks ago
Maybe the B in JSONB stands for Beast? Explore schema-design pitfalls, index strategies, and TOAST tables. Boriss Mejias (EDB) presents his talk “JSON in PostgreSQL - evil data type or just needs to be tamed?” at POSETTE: An Event for Postgres 2026. Abstract: You heard that PostgreSQL also supports the JSON data type, and you wanted to enjoy the dynamism of schema freedom mixed with the benefits of a relational database. You wanted a flexible data type combined with columns with strong types, with relationships between tables, and with constraints to guarantee data integrity. But now that you have integrated JSON deep in your schema design, you start observing odd behaviors, unpredictable performance, and unused indexes. You start to wonder if you haven’t introduced an evil data type disguised as a friendly and flexible object. Maybe there are things you could do in Postgres to make things run faster. Are some indexes better than others? What about table partitioning? And what about TOAST tables? Do they play a role accessing the data stored in JSON? Or …

maybe the B in JSONB stands for Beast? Can you tame the JSONB objects?

In this talk we will review schema-design decisions when using JSON/JSONB in PostgreSQL, with some tips and tricks, based on experience working with real case scenarios. We will work through a case study to create a pragmatic view of working with JSON/JSONB in PostgreSQL.

Boriss Mejias is a Solutions Architect (EDB) working with Postgres since 9.1 and is organizer of the Belgian Postgres meetup.

► Video chapters:
⏩ 00:00 – Music & introduction
⏩ 01:12 – The power of schema freedom
⏩ 02:49 – Metal music use case with JSON objects
⏩ 03:48 – Designing tables with JSONB columns
⏩ 05:37 – Extracting ids for relational integrity
⏩ 07:46 – Hybrid schema design with metal album reviews
⏩ 09:04 – Indexing JSON for performance gains
⏩ 13:09 – Trigram (pg_trgm) indexing for text search
⏩ 15:06 – Enforcing types and constraints in JSON
⏩ 19:13 – Schema changes and update tradeoffs
⏩ 21:12 – Optimizing updates with “frequently updated fields”
⏩ 23:21 – Key takeaways and design principles

📕 Everything you need to know about POSETTE: An Event for Postgres can be found at: posetteconf.com
✅ Learn more: watch more POSETTE talks: https://aka.ms/posette-playlist

📌 Let’s connect:
LinkedIn: linkedin.com/company/posetteconf
X – @PosetteConf, https://x.com/PosetteConf
Mastodon – @posetteconf, https://mastodon.social/@posetteconf
Bluesky – @posetteconf.com, https://aka.ms/posette-on-bluesky

#PosetteConf #PostgreSQL #JSON
JSON in PostgreSQL - evil data type or just needs to be tamed? | POSETTE: An Event for Postgres 2026Your first AI agent is only a few lines of Python awayWatch the Microsoft Build opening keynote with Satya Nadella!Linux and PostgreSQL in the Multiverse of Connections | POSETTE: An Event for Postgres 2026Secure AI Agents in Azure: AI Gateway, Tools, and TrustAzure Data Studio Is Retiring—Here’s What’s Next for SQL Developers in VS CodeData Streaming for Modern Applications in SQL Server 2025, Azure SQL, and Fabric SQL | Data ExposedWhere Does My INSERT Go? A Logical Replication Story | POSETTE: An Event for Postgres 2026From Pilot to Productivity: A 90-Day Plan for Copilot AdoptionQuerying & Visualizing Graphs in Postgres with Apache AGE | POSETTE: An Event for Postgres 2026How can I get started writing extensions for the Command Pallet in PowerToys?TypeScript 7 Is Here (And Its 10× Faster)
Microsoft Developer |

JSON in PostgreSQL - evil data type or just needs to be tamed? | POSETTE: An Event for Postgres 2026

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER