<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf.PL 2026</title><start>2026-11-24</start><end>2026-11-24</end><days>1</days><baseurl>https://www.postgresql.eu/events/pgconfpl2026/schedule/</baseurl></conference><day date="2026-11-24"><room name="Main Room"><event id="8517"><start>09:00</start><duration>00:10</duration><room>Main Room</room><title>Opening</title><abstract /><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8517/</url><track>General</track><persons><person id="30">Andreas Scherbaum</person><person id="1232">Jan Wieremjewicz</person></persons></event><event id="8374"><start>09:10</start><duration>00:45</duration><room>Main Room</room><title>Can AI Write SQL?</title><abstract>AI continues to amaze people, but where are its limits? How effectively can it generate SQL queries? This talk uses mcp and a sample database to explore the effectiveness of generating SELECT and DML queries from English specifications.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8374/</url><track>App Developer</track><persons><person id="44">Bruce Momjian</person></persons></event></room><room name="Other"><event id="8519"><start>09:55</start><duration>00:30</duration><room>Other</room><title>Coffee Break / Przerwa na kawę</title><abstract /><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8519/</url><track>Breaks</track><persons /></event></room><room name="Main Room"><event id="8381"><start>10:25</start><duration>00:45</duration><room>Main Room</room><title>The VACUUM Deep Dive: Asynchronous I/O and Beyond in PostgreSQL 18</title><abstract>PostgreSQL 18 ships the biggest set of VACUUM and autovacuum improvements in years. Beyond the headline asynchronous I/O (AIO) subsystem, this release adds smarter triggering rules, more flexible worker management, explicit control over tail truncation, better freezing behavior, and much richer observability for maintenance operations.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8381/</url><track>DBA</track><persons><person id="1567">Anita Singh</person></persons></event><event id="8085"><start>11:20</start><duration>00:45</duration><room>Main Room</room><title>Huge Pages for PostgreSQL, Explained</title><abstract>HugePages often sound simple ("use large pages for shared memory"), but in practice people get stuck on the same questions: what they actually change, how to calculate the right amount, and how to confirm the system is using them correctly. In this talk I will explain HugePages in plain language, then walk through a clear sizing approach you can repeat on your own systems. You'll leave knowing what to check before enabling them, what common mistakes to avoid, and how to decide if HugePages are worth it for your workload. I'll finish with benchmark results comparing performance with and without HugePages.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8085/</url><track>DBA</track><persons><person id="699">Alicja Kucharczyk</person></persons></event><event id="8277"><start>12:15</start><duration>00:45</duration><room>Main Room</room><title>Window Functions Are Easier and More Powerful Than You Think</title><abstract>In some circles, window functions are considered "Advanced SQL".  In this presentation, I will show you how easy and powerful they actually are.

We will start with the basic concept of partitions and orderings, then move on to simple frame specifications.  Then we will look at more intricate frames and exclusion options, and how they can simplify quite a bit of application processing.

Finally, we will look at extensions that provide additional window functions to those defined by the SQL Standard, and take a peek at what the future might bring.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8277/</url><track>App Developer</track><persons><person id="185">Vik Fearing</person></persons></event></room><room name="Other"><event id="8521"><start>13:00</start><duration>00:55</duration><room>Other</room><title>Lunch / Obiad</title><abstract /><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8521/</url><track>Breaks</track><persons /></event></room><room name="Main Room"><event id="8398"><start>13:55</start><duration>00:45</duration><room>Main Room</room><title>What is Patroni, really?</title><abstract>Patroni is widely recognized as a premier high-availability solution for PostgreSQL, but what really makes it tick? 

In this talk, as the Patroni maintainers, we’ll dive deep into its architecture, core principles, and the engineering decisions that keep it running smoothly. We’ll share firsthand insights into its internals, unexpected operational challenges, and design choices — both brilliant and painful. Furthermore, we will discuss why, despite evolving developments in the PostgreSQL high-availability ecosystem, Patroni remains a crucial standard, and explore where the project is headed next.

Whether you're a user, contributor, or just curious about high-availability magic, this session will give you a fresh look at Patroni beyond the documentation, explain what Patroni really is and why it is still a thing.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8398/</url><track>General</track><persons><person id="359">Alexander Kukushkin</person><person id="873">Polina Bungina</person></persons></event><event id="8462"><start>14:50</start><duration>00:45</duration><room>Main Room</room><title>Multi-tenant Postgres: Where Each Design Hits a Wall</title><abstract>Every multi-tenant system on Postgres picks one of three isolation models: a shared table keyed by tenant_id (often guarded by Row-Level Security), a schema per tenant, or a database per tenant. The trade-offs are easy to recite in the abstract - and much harder to feel until one of them quietly hits a wall in production.

Drawing on real deployments, this talk walks each model to its limit. For the shared model: RLS ergonomics and the planner behavior that can surprise you. For schema-per-tenant: the honeymoon, then the catalog, planning-time, and pg_dump/autovacuum pressure that builds as tenant count climbs. For database-per-tenant: the strongest isolation, paid for in connections, backups, and operational sprawl. We'll also look at the hybrid "pods of tenants" pattern that large SaaS platforms tend to converge on.

The result is a decision framework grounded in where each design breaks - so you choose the model that hits its wall after your growth plan, not before.

Key takeaways: the practical scaling limits of each isolation model; how to use RLS without paying for it twice; why schema-per-tenant degrades and roughly when; and a grounded framework for choosing and evolving your tenancy model.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8462/</url><track>App Developer</track><persons><person id="1536">Aditya Surishetti</person><person id="1144">Avinash Vallarapu</person></persons></event></room><room name="Other"><event id="8520"><start>15:35</start><duration>00:25</duration><room>Other</room><title>Coffee Break / Przerwa na kawę</title><abstract /><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8520/</url><track>Breaks</track><persons /></event></room><room name="Main Room"><event id="8459"><start>16:00</start><duration>00:45</duration><room>Main Room</room><title>Pushing the PostgreSQL Limits in a 1TB TPC-H Lab Exercise</title><abstract>How fast can classical PostgreSQL really go on analytical workloads? Using the TPC-H query stream on a 1TB database, this session walks through the journey from a default-configured HammerDB test schema to almost 10x faster processing time.
CPU resources, memory, high-performance I/O, and proper GUC parameters were the necessary prerequisites - but that was only the point where the real journey began.

The presentation covers the key performance decisions - on the database server side and in the schema design - all within TPC-H specification requirements, and in particular without changing the query text.

This is also a journey of changing perception: the goal is to show how PostgreSQL can leverage the platform's capabilities, and which lessons carry over to more general use cases - touching on areas where common understanding may need some refinement, such as database statistics and indexing.</abstract><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8459/</url><track>DBA</track><persons><person id="1588">Piotr Kolodziej</person></persons></event><event id="8518"><start>16:50</start><duration>00:10</duration><room>Main Room</room><title>Closing</title><abstract /><url>https://www.postgresql.eu/events/pgconfpl2026/schedule/session/8518/</url><track>General</track><persons><person id="30">Andreas Scherbaum</person><person id="1232">Jan Wieremjewicz</person></persons></event></room></day></schedule>