{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2025.1.0"}, "schedule": {"url": "https://cfp.p2d2.cz/2026/schedule/", "version": "0.5", "base_url": "https://cfp.p2d2.cz", "conference": {"acronym": "2026", "title": "Prague PostgreSQL Developer Day 2026", "start": "2026-01-27", "end": "2026-01-28", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "Europe/Prague", "colors": {"primary": "#1497b8"}, "rooms": [{"name": "105", "slug": "1-105", "guid": "24f0f4e7-a3bc-5f2f-961c-5cfce6a05f3e", "description": null, "capacity": 300}, {"name": "155", "slug": "2-155", "guid": "d1be941a-fdbe-551e-b3d9-96837abaad02", "description": null, "capacity": 150}, {"name": "107", "slug": "6-107", "guid": "54387087-b750-51db-95b1-9c7c364b6489", "description": null, "capacity": 100}, {"name": "T9:301", "slug": "3-t9301", "guid": "4ac49969-a4e8-58a6-8e5b-dab7e0c76cfc", "description": null, "capacity": 25}, {"name": "T9:302", "slug": "4-t9302", "guid": "a5860d02-fc9d-5836-8ed5-7e4b059e44bd", "description": null, "capacity": 25}, {"name": "T9:347", "slug": "5-t9347", "guid": "49f19834-3630-5ccd-82ed-15b8b3fffe5b", "description": null, "capacity": 25}], "tracks": [{"name": "SQL", "slug": "1-sql", "color": "#01b155"}, {"name": "internals", "slug": "2-internals", "color": "#e75b02"}, {"name": "performance", "slug": "3-performance", "color": "#00aad5"}, {"name": "backups & replication", "slug": "4-backups-replication", "color": "#d30000"}, {"name": "containers", "slug": "5-containers", "color": "#a0a0a0"}, {"name": "AI", "slug": "6-ai", "color": "#d800f6"}, {"name": "security", "slug": "7-security", "color": "#000000"}, {"name": "forks", "slug": "8-forks", "color": "#ffc800"}], "days": [{"index": 1, "date": "2026-01-27", "day_start": "2026-01-27T04:00:00+01:00", "day_end": "2026-01-28T03:59:00+01:00", "rooms": {"T9:301": [{"guid": "5ec3efbf-5d0e-514c-8679-4ed245c118d6", "code": "HCKQAD", "id": 10, "logo": null, "date": "2026-01-27T09:00:00+01:00", "start": "09:00", "duration": "03:30", "room": "T9:301", "slug": "2026-10-postgresql-query-optimization-how-to-write-efficient-queries", "url": "https://cfp.p2d2.cz/2026/talk/HCKQAD/", "title": "PostgreSQL Query Optimization: How to Write Efficient Queries", "subtitle": "", "track": "performance", "type": "Workshop (half-day)", "language": "en", "abstract": "Would you like to write queries that perform fast and deliver results on time? During this workshop, you will learn that query optimization is not a dark art practiced by a small group of sorcerers. Any motivated professional can learn to write efficient queries from the get-go and capably optimize existing queries. You will learn to look at the process of writing a query from the database engine\u2019s point of view and know how to think like the database optimizer.", "description": "Upon workshop completion, the participants will learn to:\r\n- Identify optimization goals in OLTP (Online Transaction Processing)\r\nand OLAP (Online Analytical Processing) systems\r\n- Read and understand PostgreSQL execution plans\r\n- Identify indexes that will improve query performance\r\n- Optimize full table scans\r\n- Distinguish between long queries and short queries\r\n- Choose the correct optimization technique for each query type\r\n- We will conclude the workshop by presenting  the Ultimate Optimization Algorithm", "recording_license": "", "do_not_record": true, "persons": [{"code": "QBQAML", "name": "Hettie Dombrovskaya", "avatar": "https://cfp.p2d2.cz/media/avatars/QBQAML_hWZibWk.jpeg", "biography": "Hettie Dombrovskaya (currently a Database Architect at DRW) is a database researcher and developer with 40 years of academic and industrial experience. \r\n\r\nHettie is very active in the PostgreSQL community. She is the founder and President of Prairie Postgres NFP, an organization supporting Postgres education in the Midwest states of the US, and runs the Illinois Prairie Postgres User Group. Her contributions to the community include the pg_bitemporal project, which supports two-dimensional time in PostgreSQL, the postgres_air training database (the largest open-source PostgreSQL training database), and the NORM technology - a novel way of communications between applications and databases.\r\n\r\nIn addition, Hettie is an ACM Chicago Chapter Communications Chair and an LPI Board of Directors member.", "public_name": "Hettie Dombrovskaya", "guid": "47ead11d-eb26-567c-84dd-2a776d9b807f", "url": "https://cfp.p2d2.cz/2026/speaker/QBQAML/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/HCKQAD/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/HCKQAD/", "attachments": [{"title": "Presentation slides", "url": "/media/2026/submissions/HCKQAD/resources/pg_acm_prague_2026_FWPkdMn.pdf", "type": "related"}]}, {"guid": "bb2cb4ed-0c0b-5576-90a9-fef2833b6f6b", "code": "3TMCQN", "id": 46, "logo": null, "date": "2026-01-27T13:30:00+01:00", "start": "13:30", "duration": "03:30", "room": "T9:301", "slug": "2026-46-pgbouncer-everything-everywhere-all-at-once-about-this-tool", "url": "https://cfp.p2d2.cz/2026/talk/3TMCQN/", "title": "PgBouncer - Everything, Everywhere, All At Once about this tool", "subtitle": "", "track": "performance", "type": "Workshop (half-day)", "language": "en", "abstract": "PgBouncer is widely used in PostgreSQL environments. Like any connection pooler, it has clear strengths and limits, and it has been applied across a range of production patterns. Recent releases added support for protocol\u2011level prepared statements in transaction and statement pooling; in 2025 the project also made progress toward a multithreaded design.\r\n\r\nIn this half\u2011day workshop we examine how PgBouncer\u2019s current single\u2011threaded event loop works and outline the proposed multithreaded approach. We\u2019ll cover practical and experimental use cases and the configuration edges that matter in production\u2014like scaling across cores with multiple processes on the same port via so_reuseport and peering and other interesting solutions. Attendees receive runnable examples for the key use cases as well as commented list of online resources.\r\n\r\nKey takeaways:\r\n* Know the trade\u2011offs of this connection pooler\r\n* Prepared statements can work in transaction/statement pooling\r\n* PgBouncer is single\u2011threaded today; scale across cores with multiple processes\r\n* PgBouncer can help with HA/failover \u2014 but not alone\r\n* A multithreaded architecture is on the horizon", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "SPHK3V", "name": "Josef Machytka", "avatar": "https://cfp.p2d2.cz/media/avatars/SPHK3V_E0ukig7.jpg", "biography": "Professional Service Consultant - PostgreSQL specialist in credativ GmbH.\r\n\r\nBorn 1969 in Czech republic, dipl. engineer, Technical University Ostrava, Czech rep., field automation and robotics, living since 2014 in Berlin, Germany.\r\n\r\n- 33+ years of experience with different databases - PostgreSQL (12y), BigQuery (7y), Oracle (15y), MySQL (12y), Elasticsearch (5y), MS SQL (5y), Sybase, Informix, FoxPro\r\n- 10+ years of experience with high speed and volume data ingestion pipelines, data analysis, data lake and warehouse and related topics\r\n- 3+ years of practical experience with different LLMs / AI including their architecture and principles.\r\n- Presenting often at PostgreSQL Conferences and MeetUps in Europe\r\n\r\nLinkedIn: www.linkedin.com/in/josef-machytka \r\nMedium.com: https://medium.com/@josef.machytka \r\nResearchGate.com: https://www.researchgate.net/profile/Josef-Machytka", "public_name": "Josef Machytka", "guid": "05825e80-5b27-5b00-9cb1-18ab4af21712", "url": "https://cfp.p2d2.cz/2026/speaker/SPHK3V/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/3TMCQN/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/3TMCQN/", "attachments": []}], "T9:302": [{"guid": "2cafa85b-896b-50ec-8b5e-b2a4236d35dd", "code": "AFFEUF", "id": 32, "logo": null, "date": "2026-01-27T09:00:00+01:00", "start": "09:00", "duration": "03:30", "room": "T9:302", "slug": "2026-32-running-postgresql-in-kubernetes-with-cloudnativepg", "url": "https://cfp.p2d2.cz/2026/talk/AFFEUF/", "title": "Running PostgreSQL in Kubernetes with CloudNativePG", "subtitle": "", "track": "containers", "type": "Workshop (half-day)", "language": "en", "abstract": "In this hands-on, 3-hour workshop, participants will learn how to deploy and manage PostgreSQL in Kubernetes using CloudNativePG (CNPG), the open source operator in the CNCF sandbox. The workshop will walk through the main features to manage a PostgreSQL cluster, from deploying the first CNPG cluster to managing configuration, databases, and roles in a declarative way, to enabling continuous backups for recovery from a disaster.\r\n\r\nAttendees will manage the PostgreSQL cluster by applying the changes from the YAML manifest definition, demonstrating the declarative nature of the Operator. We will cover basic DBA managements, from DB initialization, to declarative SQL execution and DB import from other PG source, to reading the aggregated logs for investigation. Moreover we will show the benefits of using the CNPG operator for taking and restoring backups, and for its self-healing capabilities in case of incidents. This session is ideal for DevOps engineers, DBAs, and developers looking to operationalize PostgreSQL in Kubernetes.", "description": "Following the instructions from the CNPG Playground project, anyone will create Kubernetes clusters on their own laptop using \"kind\".\r\n\r\nWhile the kind clusters will be created on each laptop, we will introduce the CNPG operator and basic concepts. We will walk the attendees to understand a bit of the Kubernetes world and the problems we are trying to solve with this PostgreSQL operator.\r\n\r\nThe course will cover the following points:\r\n\r\n* Introduction to CloudNativePG (CNPG)\r\n* Installation of the kubectl plugin for CNPG\r\n* First deployment of a CNPG cluster\r\n* PostgreSQL configuration, databases, and roles management\r\n* Database import\r\n* Setup and execution of the first backup\r\n* PostgreSQL Extensions\r\n* Incident simulation (failover showcase)\r\n* Log reading\r\n* Upgrade of the Operator and the PostgreSQL version (minor, and major)\r\n* Restore from a backup.\r\n\r\nTo speed up the process, we will provide a link to download all the commands to actually follow the workshop in real time, without wasting precious minutes writing them or looking for typos in case of issues.\r\n\r\n**Requirements**\r\n\r\nTo run the playground environment on their own laptops, participants only need to have one of the following installed:\r\n\r\n* Docker Desktop\r\n* Rancher Desktop\r\n\r\nEither of these tools ensures that containers run consistently across all major operating systems\u2014Windows, Linux, and macOS\u2014without requiring any additional configuration.", "recording_license": "", "do_not_record": true, "persons": [{"code": "NRNGA9", "name": "Jonathan", "avatar": "https://cfp.p2d2.cz/media/avatars/NRNGA9_8AJiGjt.jpg", "biography": "Jonathan Battiato started as a Linux SysAdmin, and became a PostgreSQL administrator and benchmark specialist. Since 2019 he joined the CloudNative Team, working as a QA and automation engineer for CloudNativePG on K8S environments, having earned the CKA and CKS certifications. In 2024 he became a DoKC Ambassador, and organizer of DoKC Tuscany Meetups. In his private life he prefers spending time on DIY projects, playing music, video games, and watching science fiction movies.", "public_name": "Jonathan", "guid": "071aa073-a109-5fea-a255-1934588f1aa1", "url": "https://cfp.p2d2.cz/2026/speaker/NRNGA9/"}, {"code": "F3GPHF", "name": "Danish", "avatar": null, "biography": "CKA and CAKD.Core areas of expertise include Infrastructure automation, Virtualization, Kubernetes and Containers, Automation testing, Python, and Cloud technologies. Also worked as an Automation Engineer, Infrastructure consultant, Performance engineering, and Test framework development. Contributor to CloudNativePG(OpenSource). Currently working on Kubernetes, Go, Ginkgo development, and chaos engineering. My commitment is to bring stable and reliable PostgreSQL to Kubernetes folks.", "public_name": "Danish", "guid": "f948a2e9-abf9-5c69-8abb-8b82b29bd799", "url": "https://cfp.p2d2.cz/2026/speaker/F3GPHF/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/AFFEUF/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/AFFEUF/", "attachments": [{"title": "Zip file with Workshop Slides, Commands, and Links", "url": "/media/2026/submissions/AFFEUF/resources/p2d2-workshop-cloudnativepg_cYoRKeG.zip", "type": "related"}]}, {"guid": "c5db723d-0997-592b-b986-3d494f1a8bd0", "code": "MDZLK7", "id": 52, "logo": null, "date": "2026-01-27T13:30:00+01:00", "start": "13:30", "duration": "03:30", "room": "T9:302", "slug": "2026-52-pgwatch-from-zero-to-hero", "url": "https://cfp.p2d2.cz/2026/talk/MDZLK7/", "title": "pgwatch: From Zero to Hero!", "subtitle": "", "track": "internals", "type": "Workshop (half-day)", "language": "en", "abstract": "In this hands-on workshop, attendees will learn how to set up and operate pgwatch, a powerful open-source monitoring system designed specifically for PostgreSQL. Starting from a clean environment, we will go step-by-step through deploying pgwatch, connecting monitored databases, and exploring built-in Grafana dashboards. Participants will also learn best practices for managing pgwatch efficiently in production environments\u2014covering configuration, data retention, and performance considerations.", "description": "In this hands-on workshop, attendees will learn how to set up and operate **pgwatch**, a powerful open-source monitoring system designed specifically for PostgreSQL. Starting from a clean environment, we will go step-by-step through deploying pgwatch, connecting monitored databases, and exploring built-in Grafana dashboards. Participants will also learn best practices for managing pgwatch efficiently in production environments\u2014covering configuration, data retention, and performance considerations.\r\n\r\n**Key topics covered:**\r\n\r\n* Introduction to pgwatch architecture and components\r\n* Installing pgwatch from scratch (Docker or native setup)\r\n* Connecting PostgreSQL instances and collecting metrics\r\n* Understanding key metrics and visualizations in Grafana\r\n* Managing multiple clusters and optimizing data storage\r\n* Practical tips for troubleshooting and maintenance\r\n\r\n**Expected outcomes:**\r\nBy the end of the session, participants will have a fully functional monitoring setup for PostgreSQL and the knowledge to adapt pgwatch to their own environments.\r\n\r\n**Prerequisites:**\r\n\r\n* Basic familiarity with PostgreSQL administration\r\n* Laptop with Docker or a PostgreSQL environment available (any OS is fine \u2014 pgwatch is cross-platform)", "recording_license": "", "do_not_record": true, "persons": [{"code": "M3JC9H", "name": "Pavlo Golub", "avatar": "https://cfp.p2d2.cz/media/avatars/M3JC9H_RrnIDbF.png", "biography": "Pavlo Golub \u2014 Senior Developer, PostgreSQL contributor, and maintainer of pgwatch.", "public_name": "Pavlo Golub", "guid": "f68828ae-1ea2-509d-b0f5-89713b56699b", "url": "https://cfp.p2d2.cz/2026/speaker/M3JC9H/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/MDZLK7/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/MDZLK7/", "attachments": []}], "T9:347": [{"guid": "7aa85e09-d255-5db3-8772-b5612d8637c7", "code": "BRPVYB", "id": 54, "logo": null, "date": "2026-01-27T09:00:00+01:00", "start": "09:00", "duration": "08:00", "room": "T9:347", "slug": "2026-54-introduction-to-postgres-hacking", "url": "https://cfp.p2d2.cz/2026/talk/BRPVYB/", "title": "Introduction to Postgres hacking", "subtitle": "", "track": "internals", "type": "Workshop (full-day)", "language": "en", "abstract": "This workshop is an introduction into hacking on Postgres code, to help people with their first steps. It is intended for those who are interested either in contributing to Postgres directly, or plan to work on some extensions, Postgres forks etc. If you don't plan to work on Postgres internals and write C code, this workshop may not be a good fit for you.", "description": "The planned agenda is roughly this:\r\n\r\n* Brief introduction into the development process and how it\u2019s organized (mailing lists, commit fests, patch submissions, buildfarm, tools used to organize all this). We might also discuss how this might evolve in the future.\r\n* Walk through the source code, to explain how it\u2019s organized, what are the basic modules, where to look for stuff, what tools are available, etc.\r\n* Basic work with the code (cloning, using configure, running various types of tests).\r\n* Advanced stuff (using github CI, ...)\r\n* Postgres-specific infrastructure and coding idioms (Datum, SQL vs. C functions, memory contexts and palloc, error logging, ...).\r\n\r\nWe plan to do small exercises to get some practical experience with these topics, so bring your Linux laptop with a recent distribution (Fedora, Ubuntu, Debian, ...). You won\u2019t need anything very special, just console, git, gcc, and your favorite editor to write C code (we\u2019ll setup the environment in the first section).\r\n\r\nWe expect basic knowledge of C, but we don\u2019t expect you to know the strange/unique C stuff in Postgres. That\u2019s what the workshop is meant to address. Prior experience with autotools is an advantage, not a requirement. After the workshop you should be familiar with how the Postgres project is organized, and with the fundamental tools and infrastructure used by Postgres. You may not be able to understand every patch right away, but you should have the foundations to quickly learn.", "recording_license": "", "do_not_record": false, "persons": [{"code": "P3P98U", "name": "Tomas Vondra", "avatar": null, "biography": "I'm a PostgreSQL developer, contributor and committer. I mostly focus on performance and query optimizer improvements. I work at Microsoft.", "public_name": "Tomas Vondra", "guid": "709effbe-0fb3-579e-a328-6f1e4e432087", "url": "https://cfp.p2d2.cz/2026/speaker/P3P98U/"}, {"code": "CTFXFN", "name": "Nazir Bilal Yavuz", "avatar": "https://cfp.p2d2.cz/media/avatars/CTFXFN_J3CjKzU.png", "biography": "Nazir Bilal Yavuz is a software engineer on the PostgreSQL open source team at Microsoft since the beginning of 2022.\r\n\r\nBilal earned his B.S. degree in Computer Engineering at METU.", "public_name": "Nazir Bilal Yavuz", "guid": "f53bb974-f1d8-5938-89d5-27a8a0dc1d99", "url": "https://cfp.p2d2.cz/2026/speaker/CTFXFN/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/BRPVYB/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/BRPVYB/", "attachments": []}]}}, {"index": 2, "date": "2026-01-28", "day_start": "2026-01-28T04:00:00+01:00", "day_end": "2026-01-29T03:59:00+01:00", "rooms": {"105": [{"guid": "113b5eb2-17d8-5528-85ba-ed3c7f877f78", "code": "WQX3FA", "id": 14, "logo": null, "date": "2026-01-28T09:20:00+01:00", "start": "09:20", "duration": "00:50", "room": "105", "slug": "2026-14-the-art-of-keeping-postgresql-clean-internals-autovacuum-and-controlled-deletion", "url": "https://cfp.p2d2.cz/2026/talk/WQX3FA/", "title": "The Art of Keeping PostgreSQL Clean: Internals, Autovacuum, and Controlled Deletion", "subtitle": "", "track": "internals", "type": "Talk", "language": "en", "abstract": "Large PostgreSQL tables never shrink on their own and deleting data at scale can easily cause more harm than good.\r\nThis talk focuses on how to safely clean up data in production without blocking workloads or causing vacuum storms.\r\n\r\nWe\u2019ll explore real cleanup patterns , from partition drops and rebuild-and-reattach approaches to cursor- and CTE-based batched deletions , each designed to minimize lock contention and replication lag.\r\nWe\u2019ll also examine what actually happens inside PostgreSQL when data is deleted: how tuples become dead, how autovacuum reclaims space, and why transaction age and WAL behavior matter for performance.\r\n\r\nBy the end, attendees will understand how to plan, execute, and automate cleanup in large, high-concurrency PostgreSQL environments  safely, continuously, and with full awareness of the engine\u2019s internals.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "RDHLPG", "name": "Cagri Biroglu", "avatar": "https://cfp.p2d2.cz/media/avatars/RDHLPG_IlJowio.png", "biography": "I\u2019m \u00c7a\u011fr\u0131, a database systems engineer based in the Netherlands.\r\nI work at Adyen, where my days usually revolve around keeping large PostgreSQL clusters reliable, fast, and mostly calm  while trying to automate everything that can go wrong twice.\r\n\r\nOver the years I\u2019ve worked across PostgreSQL, MySQL, Oracle, and SQL Server, building systems that stay up when they really shouldn\u2019t. I love the intersection of performance, reliability, and automation figuring out how databases behave under stress and how we can make them heal themselves a little faster next time.\r\n\r\nOutside work, I enjoy travelling , discovering and playing games online(PC)/offline(boardgames)", "public_name": "Cagri Biroglu", "guid": "854439ab-b2c8-51f6-8f85-ec18ae146047", "url": "https://cfp.p2d2.cz/2026/speaker/RDHLPG/"}], "links": [{"title": "Some delete procedures and tests between different scenarios for deleting at scale & VM regression tests & LP_DEAD hintbit on indexes.", "url": "https://github.com/cgricb/delete_tests", "type": "related"}], "feedback_url": "https://cfp.p2d2.cz/2026/talk/WQX3FA/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/WQX3FA/", "attachments": [{"title": "slides_art_of_cleaning.keynote", "url": "/media/2026/submissions/WQX3FA/resources/Art_Of_Cleaning_TSYdnLv.key", "type": "related"}]}, {"guid": "d82ef4da-60f3-51e1-a7a7-4ff58fc20bf7", "code": "HGLVLL", "id": 17, "logo": null, "date": "2026-01-28T10:15:00+01:00", "start": "10:15", "duration": "00:50", "room": "105", "slug": "2026-17-sql-injection-is-boring-advanced-threats-you-re-not-watching", "url": "https://cfp.p2d2.cz/2026/talk/HGLVLL/", "title": "SQL Injection Is Boring - Advanced Threats You\u2019re Not Watching", "subtitle": "", "track": "internals", "type": "Talk", "language": "en", "abstract": "Everyone knows how to prevent basic SQL injection but modern attackers have moved far beyond textbook exploits. In high-traffic PostgreSQL deployments, subtle misconfigurations and overlooked features can open doors to far more sophisticated attacks.\r\nThis talk uncovers the next generation of database threats that rarely make it into security checklists. We\u2019ll examine:\r\n* Privilege Escalation via Extensions and Foreign Data Wrappers how seemingly harmless extensions or FDWs can leak credentials or access external systems.\r\n* Timing and Side-Channel Attacks : extracting secrets by measuring query latency and caching behavior.\r\n* Abusing Logical Replication and LISTEN/NOTIFY : stealthy data exfiltration channels hidden in plain sight.\r\n* Role Inheritance & Row-Level Security Pitfalls : ways attackers exploit complex permission hierarchies.\r\nAttendees will learn how to recognize these attack surfaces, configure PostgreSQL securely, and implement defense-in-depth strategies such as strict role design, immutable infrastructure, and continuous auditing.\r\nWhether you\u2019re a DBA, developer, or security engineer, this session will challenge the assumption that SQL injection is the only real database risk and provide actionable steps to harden your PostgreSQL environment against today\u2019s most overlooked threats.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "HGVFRU", "name": "Kranthi Kiran Burada", "avatar": "https://cfp.p2d2.cz/media/avatars/HGVFRU_gYvNtYO.jpeg", "biography": "I\u2019m Kranthi Kiran Burada, and I've been serving as a Sr Database Migration Specialist at AWS for the past 8 years, accumulating a total of 12 years of experience in the field. My primary focus lies in assisting customers with migrating from commercial databases to open-source databases like PostgreSQL.\r\nOver the last 9 years, I've been deeply involved with PostgreSQL, aiding clients in performance optimization, database design, troubleshooting, and offering best practices during migrations from Oracle/SQL Server to PostgreSQL.\r\n\r\nI had the privilege of being a speaker at both SwissPGDay 2024, PGConf Belgium 2024,SQLBits 2025 London and PASS Data Community 2025-Netherlands.Additionally, I have the privilege of being an AWS Certification Subject Matter Expert (SME), contributing to the development of all AWS associate certifications and the AWS Database Specialty Certification.\r\n\r\nBeyond my professional endeavours, I'm passionate about exploring new destinations and indulging in games like badminton and cricket during my leisure time.", "public_name": "Kranthi Kiran Burada", "guid": "99bb32bd-4265-5ef7-9dc7-ef9a4ea1599a", "url": "https://cfp.p2d2.cz/2026/speaker/HGVFRU/"}, {"code": "SUKRUG", "name": "Narendra Tawar", "avatar": "https://cfp.p2d2.cz/media/avatars/SUKRUG_efqBbBe.png", "biography": "I am accomplished database professional with 21 years of comprehensive experience across Oracle, PostgreSQL, Microsoft SQL Server, and MySQL environments, with specialized PostgreSQL expertise since a decade. Currently serving as a Senior Data Migration Specialist at AWS, I architect and execute complex enterprise migration strategies while actively expanding into Generative AI technologies to enhance migration efficiency and optimize data workflows. My core competencies include database architecture, performance optimization, migration planning, and cross-platform data integration, combining decades of hands-on experience with modern cloud methodologies to deliver scalable, reliable data solutions that bridge traditional database principles with emerging AI capabilities.", "public_name": "Narendra Tawar", "guid": "375f2e3e-7cda-5925-8436-dbf8327bd667", "url": "https://cfp.p2d2.cz/2026/speaker/SUKRUG/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/HGLVLL/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/HGLVLL/", "attachments": [{"title": "SQL Injection Is Boring - Advanced Threats You\u2019re Not Watching", "url": "/media/2026/submissions/HGLVLL/resources/Prague_PostgreSQL_developer_da_tcMiXmO.pdf", "type": "related"}]}, {"guid": "28a94ed2-7d66-5e7a-9a7e-88b46f3d15f9", "code": "GDJ7SE", "id": 65, "logo": "https://cfp.p2d2.cz/media/2026/submissions/GDJ7SE/me_fnfXdNH.jpeg", "date": "2026-01-28T11:10:00+01:00", "start": "11:10", "duration": "00:50", "room": "105", "slug": "2026-65-why-your-postgresql-tuning-guide-might-be-wrong-and-what-to-do-about-it", "url": "https://cfp.p2d2.cz/2026/talk/GDJ7SE/", "title": "Why your PostgreSQL tuning guide might be wrong (and what to do about it)", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "Have you ever applied PostgreSQL tuning advice only to see no improvement\u2014or made things worse? While generic PostgreSQL wisdom is valuable, the complexity of PostgreSQL makes catch-all solutions underperform in unexpected ways.\r\nI will share examples where one PostgreSQL configuration improved performance in one system but hurt it in another\u2014even for the same workload. The key insight: optimal PostgreSQL parameters depend heavily on your specific infrastructure characteristics. I'll present a checklist of important infrastructure differences\u2014local vs network storage, IOPS limits, JIT availability, cloud vs on-premise\u2014and demonstrate how these different environments require different optimal configurations for the same workload.\r\nYou'll leave understanding why generic tuning guides often fail and what infrastructure characteristics you need to consider when tuning YOUR specific PostgreSQL system.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "GWCRRB", "name": "Mohsin Ejaz", "avatar": "https://cfp.p2d2.cz/media/avatars/GWCRRB_yYBqBge.jpeg", "biography": "Mohsin Ejaz is a Senior DevOps Engineer with 19 years of experience, including 17 years at EnterpriseDB (EDB). He specializes in CI/CD automation, containerization, and Linux system administration. Currently, he works as a DevOps and Benchmarking expert at DBtune, an AI-powered database optimization company, where he helps companies optimize their PostgreSQL infrastructure and reduce cloud costs.", "public_name": "Mohsin Ejaz", "guid": "00b8cc0e-675c-5ff4-be3b-6917f9405bf9", "url": "https://cfp.p2d2.cz/2026/speaker/GWCRRB/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/GDJ7SE/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/GDJ7SE/", "attachments": [{"title": "Talk Slides", "url": "/media/2026/submissions/GDJ7SE/resources/Why_your_PostgreSQL_tuning_gui_Aq0Xaqa.pdf", "type": "related"}]}, {"guid": "1876b5c6-66a5-5f54-aedf-30e4cf18def7", "code": "RHHJDT", "id": 80, "logo": null, "date": "2026-01-28T13:10:00+01:00", "start": "13:10", "duration": "01:00", "room": "105", "slug": "2026-80-lightning-talks", "url": "https://cfp.p2d2.cz/2026/talk/RHHJDT/", "title": "lightning talks", "subtitle": "", "track": "SQL", "type": "Talk", "language": "cs", "abstract": "* PostgreSQL Compatibility Index / Mayur\r\n* Lutra language compiles to SQL / Alja\u017e Mur Er\u017een\r\n* Public Role - Critical Flaw / Michal Bartak\r\n* Boldly Migrate to PostgreSQL with credativ-pg-migrator / Josef Machytka\r\n* Making Access Control Management Easy: pg_acm / Hettie Dombrovskaya\r\n* Shortest path using roaring bitmaps / Ants Aasma\r\n* How did I end up using Postgres? / Serge\r\n* pg_dance: Normalized Choreography with CloudNativePG / Jonathan Battiato and Ellyne Phneah\r\n* PostgreSQL tuning meets Kubernetes: What breaks and how we automated It / Mohsin Ejaz\r\n* Guessing application owner desires How to select important query groups without asking the app owner / Luigi Nardi\r\n* Why pg_trgm Returned Zero Results: The ARM vs x86 Trap / Anton Borisov", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "M3JC9H", "name": "Pavlo Golub", "avatar": "https://cfp.p2d2.cz/media/avatars/M3JC9H_RrnIDbF.png", "biography": "Pavlo Golub \u2014 Senior Developer, PostgreSQL contributor, and maintainer of pgwatch.", "public_name": "Pavlo Golub", "guid": "f68828ae-1ea2-509d-b0f5-89713b56699b", "url": "https://cfp.p2d2.cz/2026/speaker/M3JC9H/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/RHHJDT/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/RHHJDT/", "attachments": []}, {"guid": "3cdab0e4-58c2-53ca-93e4-732629ff2002", "code": "B8QJAL", "id": 23, "logo": null, "date": "2026-01-28T14:15:00+01:00", "start": "14:15", "duration": "00:50", "room": "105", "slug": "2026-23-what-you-should-know-about-constraints-in-postgresql-and-what-s-new-in-18", "url": "https://cfp.p2d2.cz/2026/talk/B8QJAL/", "title": "What you should know about constraints in PostgreSQL (and what's new in 18)", "subtitle": "", "track": "SQL", "type": "Talk", "language": "en", "abstract": "PostgreSQL 18 introduced significant enhancements to constraints, your first line of defense for maintaining data integrity. This talk focuses on the new capabilities brought by version 18, including temporal PK/UK and FKs, NOT NULL constraints being promoted to first-class constraints, new NOT ENFORCED constraints, and improved support for partitioned tables. We\u2019ll look at what\u2019s new, why it matters, and how to apply these features in real-world systems.\r\n\r\nWe\u2019ll begin with a brief refresher on the different types of constraints to help you get the most out of PostgreSQL\u2019s declarative integrity model by looking at the pg_constraint catalog.\r\n\r\nThen we\u2019ll go into the details of what\u2019s new in PostgreSQL 18 and what you should take away from these changes.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "W9Q7BQ", "name": "Gulcin Yildirim Jelinek", "avatar": "https://cfp.p2d2.cz/media/avatars/W9Q7BQ_rfC0mRj.jpeg", "biography": "G\u00fcl\u00e7in started working with Postgres at a startup in 2012 and was amazed by how powerful it truly is! Over the years, she has actively contributed to the PostgreSQL community by organizing conferences, delivering talks, and engaging as a dedicated community member. In recognition of her commitment, G\u00fcl\u00e7in was elected to the PostgreSQL Europe Board in 2017 and is now recognized as a PostgreSQL Contributor.\r\n\r\nFueled by her passion for PostgreSQL automation and cloud technologies, G\u00fcl\u00e7in took on the role of Cloud Services Manager and led cloud development efforts at 2ndQuadrant, which was later acquired by EDB in 2020. Committed to fostering diversity and inclusion, she is an integral part of Postgres Women, advocating for increased representation of women in technical communities.\r\n\r\nCurrently, G\u00fcl\u00e7in is a Staff Database Engineer at Xata, where she continues to explore her interests in PostgreSQL. In addition to her engineering work, she is one of the co-founders of Kad\u0131n Yaz\u0131l\u0131mc\u0131 (Women Developers of Turkey) and has led the core team for more than 10 years. In 2023, she launched Diva: Dive into AI as a Kad\u0131n Yaz\u0131l\u0131mc\u0131 initiative and has been part of the organizing team since.\r\n\r\nShe is an active member of the Postgres community, dedicated to contributing to the longevity and health of the project. G\u00fcl\u00e7in lives in Prague and has been the co-founder and organizer of the monthly Prague PostgreSQL Meetup for over seven years.", "public_name": "Gulcin Yildirim Jelinek", "guid": "1f84d441-7ade-5564-a7b9-8d27386e5dc3", "url": "https://cfp.p2d2.cz/2026/speaker/W9Q7BQ/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/B8QJAL/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/B8QJAL/", "attachments": [{"title": "What you should know about constraints in PostgreSQL  (and what\u2019s new in 18)", "url": "/media/2026/submissions/B8QJAL/resources/Constraints_in_PG18_-_P2D2_202_f9IkdeK.pdf", "type": "related"}]}, {"guid": "e6944215-2d11-5884-b7f8-69fd591777e7", "code": "GMZKNF", "id": 33, "logo": null, "date": "2026-01-28T15:35:00+01:00", "start": "15:35", "duration": "00:50", "room": "105", "slug": "2026-33-vacuuming-large-tables-how-recent-postgres-changes-further-enable-mission-critical-workloads", "url": "https://cfp.p2d2.cz/2026/talk/GMZKNF/", "title": "Vacuuming Large Tables: How Recent Postgres Changes Further Enable Mission Critical Workloads", "subtitle": "", "track": "internals", "type": "Talk", "language": "en", "abstract": "Follow along as we deep dive into a real-world transaction wraparound incident, discuss recent Postgres innovations, and explore features like index de-duplication and autovacuum enhancements designed to help eliminate the problems. We'll talk about how to optimize your Postgres environment and make a strong case why upgrading might just eliminate your XID wraparound risks.", "description": "We have all heard about Postgres vacuum horror stories and tales of transaction wraparound disasters. Even if you've never been through one yourself, you may be concerned that you might someday experience it, or maybe you even know people who have avoided Postgres altogether due to fear of it happening to them. But it doesn't have to be this way.\r\n\r\nIn this talk, we will explore this topic through a review of a real-world wraparound incident, walking through the challenges and hope offered by changes in the last several Postgres releases. We'll explore the inner workings of the Postgres vacuum process, its dual purpose of managing both disk bloat and transaction IDs (XIDs), and how recent innovations have improved this process, particularly for large tables with heavy transaction loads. We'll dive deep into key features like: - How index de-duplication minimizes vacuum workloads and improves efficiency. - How on/off index vacuuming gives you better control during maintenance windows. - Why one key autovacuum enhancement may be the key for eliminating XID wraparounds.\r\n\r\nBeyond theory, we'll revisit the real-world incident and see how each new Postgres feature could have helped mitigate the impact. While no single change is a silver bullet, the combined effect is significant. We'll also explore how the radix tree implementation in Postgres 17 might be the possible final piece of the puzzle for providing a manageable solution to XID wraparound risks.\r\n\r\nThis talk equips DBAs with a deeper understanding of recent Postgres advancements and their practical application in managing high-transactional and/or mission-critical workloads. You'll leave with actionable insights to optimize your Postgres environment and concrete arguments to convince management that it is worth the upgrade for the potential to minimize the risk of XID wraparound incidents.", "recording_license": "", "do_not_record": true, "persons": [{"code": "DSQMJL", "name": "Robert Treat", "avatar": "https://cfp.p2d2.cz/media/avatars/DSQMJL_n6eukPt.jpg", "biography": "Working on database-backed, internet-based systems for more than 20 years, Robert is a long time user, developer, and advocate for open source technologies. An author and international speaker, he has contributed to numerous industry groups and helped organize dozens of events, but is perhaps best known for his work with the Postgres project, where he was recognized as a Major Contributor. He currently works on the Postgres Contributor Team at Amazon Web Services.", "public_name": "Robert Treat", "guid": "0e64eecb-1ff9-543d-a23f-065f80b50c18", "url": "https://cfp.p2d2.cz/2026/speaker/DSQMJL/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/GMZKNF/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/GMZKNF/", "attachments": []}, {"guid": "fc6c4310-2637-5ced-a16e-1d5fc9955b9c", "code": "KGNTVC", "id": 47, "logo": null, "date": "2026-01-28T16:30:00+01:00", "start": "16:30", "duration": "00:50", "room": "105", "slug": "2026-47-postgresql-query-performance-monitoring-for-the-absolute-beginner", "url": "https://cfp.p2d2.cz/2026/talk/KGNTVC/", "title": "PostgreSQL Query Performance Monitoring for the Absolute Beginner", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "You may know that your database is slow, or, you may be told that there are performance problems in the database. However, how do you know where the performance problems are? Which queries are running the slowest? Why are they running slow? This session will take you through the fundamental tools that are built right into PostgreSQL that can help you answer all these questions. We'll start with using queries against the Cumulative Statistics Systems. We'll begin an exploration of explain plans. Setup and guidance for how all these tools work will be provided along the way. You can finally know which queries are slow, and why they are slow.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "LL7WSX", "name": "Grant Fritchey", "avatar": "https://cfp.p2d2.cz/media/avatars/LL7WSX_Hst9g7g.jpg", "biography": "Grant Fritchey is a Data Platform MVP and AWS Community Builder with over 30 years\u2019 experience in IT, including time spent in support and development. Grant works with multiple data platforms including PostgreSQL and SQL Server, as well as multiple cloud platforms. He has also developed in Python, C#, and Java. Grant writes books for Apress and Simple-Talk. Grant presents at conferences and user groups, large and small, all over the world. He joined Redgate Software as a product advocate in January 2011.", "public_name": "Grant Fritchey", "guid": "84643dd5-fcfa-51a6-9057-1efdd5eb0f7a", "url": "https://cfp.p2d2.cz/2026/speaker/LL7WSX/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/KGNTVC/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/KGNTVC/", "attachments": []}], "155": [{"guid": "23f768cf-e5ad-5ad2-be0b-c1c62775808e", "code": "ZFWHEY", "id": 72, "logo": null, "date": "2026-01-28T09:20:00+01:00", "start": "09:20", "duration": "00:50", "room": "155", "slug": "2026-72-b-tree-index-access-paths-tuning-today-and-tomorrow", "url": "https://cfp.p2d2.cz/2026/talk/ZFWHEY/", "title": "B-Tree Index Access Paths: Tuning Today and Tomorrow\u201d", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "This talk introduces the key access paths for B-tree indexes in PostgreSQL. Based on over ten years of experience with Oracle\u2019s index skip scan, I will highlight common problems it can cause and show practical ways to avoid them in PostgreSQL. I will briefly demo DB Booster, a tool that automatically finds missing indexes, and discuss the future of index tuning in relational databases\u2014self-tuning engines and PostgreSQL\u2019s place in that shift.", "description": "Whatever will fit in 45 minutes:\r\n\r\n-Index tuning introduction - fast, effective, impactful\r\n-Table without any index\r\n-B-Tree: the basic index\r\n-Why does the B-Tree index work\r\n-Index Seek\r\n-Index Scan\r\n-Index Skip Scan\r\n-Real-life issues with the Skip Scan in Oracle\r\n-How to avoid these issues in PotsgreSQL\r\n-Automated indexing - DB Booster\r\n-The future of the databases - self-tuning engines", "recording_license": "", "do_not_record": false, "persons": [{"code": "R8MZ9U", "name": "Jakub Kuzela", "avatar": null, "biography": "V \u0161estn\u00e1cti jsem se zamiloval do datab\u00e1z\u00ed \u2014 nejd\u0159\u00edve jsem si hr\u00e1l se SQL Serverem 6.5 a 7.3, a po studiu na FELu jsem propadl Oraclu. PostgreSQL m\u011b prov\u00e1z\u00ed tak n\u011bjak kontinu\u00e1ln\u011b celou kari\u00e9ru. V\u017edy m\u011b zaj\u00edmalo, jak datab\u00e1ze funguj\u00ed uvnit\u0159. P\u016fvodem jsem v\u00fdvoj\u00e1\u0159 a zam\u011b\u0159uji se zejm\u00e9na na performance tuning. M\u00fdm dlouhodob\u00fdm c\u00edlem je postavit self-tuning PostgreSQL, alespo\u0148 jako PoC :).", "public_name": "Jakub Kuzela", "guid": "b3c828d1-564b-5610-b502-bd2fb6ba8b4f", "url": "https://cfp.p2d2.cz/2026/speaker/R8MZ9U/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/ZFWHEY/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/ZFWHEY/", "attachments": []}, {"guid": "38b58aa5-4661-5c08-b8c7-683361438579", "code": "A3ZQRJ", "id": 39, "logo": null, "date": "2026-01-28T10:15:00+01:00", "start": "10:15", "duration": "00:50", "room": "155", "slug": "2026-39-what-s-missing-in-postgres", "url": "https://cfp.p2d2.cz/2026/talk/A3ZQRJ/", "title": "What's Missing in Postgres?", "subtitle": "", "track": "SQL", "type": "Talk", "language": "en", "abstract": "Postgres adds about 180 features and changes every year, yet it is missing some major ones.  This talk explains what those features are, and why they have not been implemented. The features include sharding, TDE, global indexes, and multi-master replication.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "V97YMJ", "name": "Bruce Momjian", "avatar": "https://cfp.p2d2.cz/media/avatars/V97YMJ_s5WqlbU.jpg", "biography": "Bruce Momjian is co-founder and core team member of the PostgreSQL Global Development Group, and has worked on PostgreSQL since 1996. He has been employed by EDB since 2006. He has spoken at many international open-source conferences and is the author of PostgreSQL: Introduction and Concepts, published by Addison-Wesley. Prior to his involvement with PostgreSQL, Bruce worked as a consultant, developing custom database applications for some of the world's largest law firms. As an academic, Bruce holds a Masters in Education, an honorary doctorate, was a high school computer science teacher, and lectures internationally.", "public_name": "Bruce Momjian", "guid": "bbfb44ba-c528-5c2d-a3ce-afc2ffdb5cac", "url": "https://cfp.p2d2.cz/2026/speaker/V97YMJ/"}], "links": [{"title": "What's Missing in Postgres?", "url": "https://momjian.us/main/presentations/pending.html#missing", "type": "related"}], "feedback_url": "https://cfp.p2d2.cz/2026/talk/A3ZQRJ/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/A3ZQRJ/", "attachments": []}, {"guid": "ce7ffcdc-0158-53b3-b30c-41778ffcd65a", "code": "NFDMRG", "id": 42, "logo": null, "date": "2026-01-28T11:10:00+01:00", "start": "11:10", "duration": "00:50", "room": "155", "slug": "2026-42-do-orms-make-you-happy-or-mad", "url": "https://cfp.p2d2.cz/2026/talk/NFDMRG/", "title": "Do ORMs make you happy OR Mad?", "subtitle": "", "track": "SQL", "type": "Talk", "language": "cs", "abstract": "The story of a database engineer coming to the world of strongly typed programming languages. How have I found my favorite way of building Go services on top of PostgreSQL database. Introduction to sqlc, what's so great about it, what's not ideal and how to fix that and where it fails completely.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TAH8DN", "name": "Petr \u0160mejkal", "avatar": null, "biography": "Petr has spent his career working with data and databases\u2014building interfaces, migrating data, and developing information systems. At Outreach, he leads the Administration and Developer Services team. At home, he's a passionate maker and occasional sportsman.", "public_name": "Petr \u0160mejkal", "guid": "130214d4-fd59-5dc6-872b-8f66e498ff06", "url": "https://cfp.p2d2.cz/2026/speaker/TAH8DN/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/NFDMRG/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/NFDMRG/", "attachments": []}, {"guid": "194a02c0-6dbb-511c-9076-4b7acebd19b9", "code": "JD8TSM", "id": 15, "logo": null, "date": "2026-01-28T14:15:00+01:00", "start": "14:15", "duration": "00:50", "room": "155", "slug": "2026-15-operational-hazards-of-managing-postgresql-dbs-over-100tb", "url": "https://cfp.p2d2.cz/2026/talk/JD8TSM/", "title": "Operational hazards of managing PostgreSQL DBs over 100TB", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "Picture this: you start a new role, eager to learn and contribute with your ideas! Your next task is to get familiar with the database setup, and then you start encountering these massive PostgreSQL databases \u2014 100TB, 200TB, 300TB...\r\n\r\nAnd you start questioning yourself: how do you backup (and restore) a +100TB database? And how about HA? Performance? Vacuum?\r\n\r\nIt should work the same way as for a 100GB database, right? Well, maybe not exactly.\r\n\r\nBlog posts and best practice guides make PostgreSQL seem straightforward\u2014until you push it to its limits. At extreme scale, you will find yourself questioning the most fundamental assumptions about how PostgreSQL works.\r\n\r\nOver the last years, my team at Adyen has been exploring the boundaries of what PostgreSQL can do, and today I will share our findings with you (at least the ones I can!).", "description": "", "recording_license": "", "do_not_record": true, "persons": [{"code": "B9NSXW", "name": "Teresa Lopes", "avatar": "https://cfp.p2d2.cz/media/avatars/B9NSXW_yL8KHNz.jpg", "biography": "Teresa has worked with databases for more than 8 years. After several years as an Oracle DBA, she transitioned to PostgreSQL and never looked back! Extensibility and the Community are the two main aspects she finds fascinating about PostgreSQL. Teresa is also part of the PGDay Lowlands organization. \r\n\r\nTeresa started her career far away from databases, as a Civil Engineer. So, if you've always wanted to know how tunnels and bridges are built, just ask! In her free time, Teresa enjoys spending time outdoors (mainly admiring rocks), hiking, and cooking.", "public_name": "Teresa Lopes", "guid": "cb884772-0e80-56ce-bf60-ce6b232692c4", "url": "https://cfp.p2d2.cz/2026/speaker/B9NSXW/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/JD8TSM/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/JD8TSM/", "attachments": [{"title": "Operational hazards of managing PostgreSQL DBs over 100TB", "url": "/media/2026/submissions/JD8TSM/resources/P2D2-2026-TeresaLopes_UdYbOxD.pdf", "type": "related"}]}, {"guid": "7c151573-1dd7-511b-ae6b-82200a2da238", "code": "YCZ9KL", "id": 76, "logo": null, "date": "2026-01-28T15:35:00+01:00", "start": "15:35", "duration": "00:50", "room": "155", "slug": "2026-76-a-benchmark-study-on-the-impact-of-postgresql-server-parameter-tuning", "url": "https://cfp.p2d2.cz/2026/talk/YCZ9KL/", "title": "A benchmark study on the impact of PostgreSQL server parameter tuning", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "PostgreSQL, renowned for its extensibility and robust feature set, offers a wealth of server configuration parameters that can significantly influence its performance. Most PostgreSQL users operate with default parameters, which are often not optimized for commonly used server machine flavors. This talk is a comprehensive benchmark analysis exploring the potential performance benefits achievable through server parameter tuning. We'll examine the impact of various parameter configurations on diverse workloads, ranging from OLTP to OLAP, and provide an analysis that highlights the performance gains and show that these depend on several factors related to the computing environment and workloads. This talk helps database administrators and developers with actionable insights for maximizing PostgreSQL performance through effective server parameter tuning.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "G7SFMF", "name": "Luigi Nardi", "avatar": "https://cfp.p2d2.cz/media/avatars/G7SFMF_bKoTNFl.png", "biography": "Dr. Luigi Nardi is the founder and CEO of DBtune, a leading company driving advancements in AI, database systems, and cloud computing. Previously an associate professor of machine learning at Lund University and a research staff at Stanford University, Luigi's expertise centers around Bayesian methods and optimization theory and practice. Luigi's journey includes a post-doctoral position at Imperial College London and a role as a software engineer at Murex S.A.S., following his Ph.D. program in applied mathematics at Universit\u00e9 Pierre et Marie Curie in Paris in 2011. Luigi is a public speaker and prolific researcher, having co-authored more than 50 peer-reviewed papers at leading venues in machine learning and computer science.", "public_name": "Luigi Nardi", "guid": "4cd5800a-1195-5b2a-bafc-701cc62ac033", "url": "https://cfp.p2d2.cz/2026/speaker/G7SFMF/"}], "links": [{"title": "Presentation slides", "url": "https://www.dbtune.com/pdf/a-benchmark-study-on-the-impact-of-postgresql-server-parameter-tuning.pdf", "type": "related"}], "feedback_url": "https://cfp.p2d2.cz/2026/talk/YCZ9KL/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/YCZ9KL/", "attachments": []}, {"guid": "32e81dbd-40b4-5eba-be07-acd3944e3c29", "code": "Z9FU8V", "id": 63, "logo": null, "date": "2026-01-28T16:30:00+01:00", "start": "16:30", "duration": "00:50", "room": "155", "slug": "2026-63-it-works-on-my-database-regression-testing-of-sql-queries", "url": "https://cfp.p2d2.cz/2026/talk/Z9FU8V/", "title": "It works on my database - Regression testing of SQL queries", "subtitle": "", "track": "SQL", "type": "Talk", "language": "en", "abstract": "SQL queries often lack systematic testing - they're treated as \"just glue code\" that only gets validated in production. Meanwhile, PostgreSQL itself has used robust regression testing for decades to prevent disasters in core development. This talk introduces RegreSQL, a tool that brings the same regression testing methodology to application queries, catching both correctness bugs and performance regressions before deployment.\r\n\r\nWe'll explore how RegreSQL tests SQL queries systematically: verifying correctness across schema changes, tracking performance baselines, detecting common query plan issues (sequential scans, missing indexes), and managing reproducible test data. You'll see live demonstrations of catching real-world issues - from missing indexes that cause production slowdowns to ORM-generated queries that perform sequential scans on millions of rows.\r\n\r\nWhether you write raw SQL or use ORMs, whether you're maintaining legacy systems or building greenfield applications, this talk will show you practical techniques for making your PostgreSQL queries testable, maintainable, and production-ready.", "description": "Target Audience:\r\n\r\n- Application developers who work with PostgreSQL daily\r\n- Teams struggling with SQL-related production incidents\r\n- DBAs looking to improve query quality from development teams\r\n\r\nWhile the talk introduces RegreSQL as an open source project, it's meant to open discussion on the wider topics of improving developer experience and stability of production deployments in database applications backed by PostgreSQL.", "recording_license": "", "do_not_record": false, "persons": [{"code": "L3WTXH", "name": "Radim Marek", "avatar": null, "biography": "Radim is a seasoned professional with more than two decades of experience managing mission-critical, high-availability, and high-throughput systems. His journey from being initially wary of databases to becoming a database enthusiast drives his educational mission: the **\"boringSQL\"** concept. Radim is dedicated to raising the technical understanding of battle-tested fundamentals - SQL and PostgreSQL - proving that simple, reliable technology is the key to stability.", "public_name": "Radim Marek", "guid": "ce51ea0d-0189-504d-bfe0-5119ebbb7175", "url": "https://cfp.p2d2.cz/2026/speaker/L3WTXH/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/Z9FU8V/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/Z9FU8V/", "attachments": [{"title": "It works on my database (PDF)", "url": "/media/2026/submissions/Z9FU8V/resources/2026-01-29-p2d2-it-works-on-my_vQ25vQP.pdf", "type": "related"}]}], "107": [{"guid": "422426c4-2d41-5478-9ab3-b8dfc7bbfa67", "code": "7GVFDS", "id": 59, "logo": null, "date": "2026-01-28T09:20:00+01:00", "start": "09:20", "duration": "00:50", "room": "107", "slug": "2026-59-rediscovering-pgq", "url": "https://cfp.p2d2.cz/2026/talk/7GVFDS/", "title": "Rediscovering PgQ", "subtitle": "", "track": "SQL", "type": "Talk", "language": "en", "abstract": "Modern applications often rely on message queues - for  background jobs, data pipelines, notifications, and event-driven architectures. Using something external like Kafka, Redis, RabbitMQ, etc increases operational complexity and introduces new failure modes. It all could be avoided by keeping a message queue in a database.\r\n\r\nQuick research on the internet shows that developers commonly are trying to engineer the database queue based on SELECT \u2026 FOR UPDATE SKIP LOCKED (available since 9.5). This approach works reasonably well under small load, and spectacularly falls apart if subscribers can\u2019t keep up with publishing rate. PostgreSQL can do better - and in fact, it already did. PgQ is PostgreSQL extension that provides generic, high-performance lockless queue with simple SQL.\r\n\r\nIn this talk, we start with why common SELECT \u2026 FOR UPDATE SKIP LOCKED approaches fall apart under load, and how PgQ quietly solved those problems a couple decades ago. Then we take a deep look at PgQ internals: snapshot-based event reads, transaction-ordered delivery, and how PgQ gets away with just a single index to achieve high throughput and consistency. Finally, we will discuss practical patterns for running PgQ on managed PostgreSQL services where this extension is typically not available.\r\n\r\nhttps://github.com/pgq/pgq/", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "S9AGZJ", "name": "Alexander Kukushkin", "avatar": "https://cfp.p2d2.cz/media/avatars/S9AGZJ_vxr3Gja.jpg", "biography": "Alexander is better known in PostgreSQL community as \"the Patroni guy\". Patroni is an open source tool for implementing PostgreSQL clustering and High Availability. Besides Patroni Alexander occasionally contributes to PostgreSQL and other open source projects and tools, usually Postgres related.", "public_name": "Alexander Kukushkin", "guid": "f744de93-304b-58f0-98d7-ae48b4dca156", "url": "https://cfp.p2d2.cz/2026/speaker/S9AGZJ/"}], "links": [{"title": "Slides", "url": "https://speakerdeck.com/cyberdemn/rediscovering-pgq", "type": "related"}], "feedback_url": "https://cfp.p2d2.cz/2026/talk/7GVFDS/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/7GVFDS/", "attachments": []}, {"guid": "7a6bb9ce-55be-5541-91e1-7242da70077e", "code": "CKPR7B", "id": 37, "logo": "https://cfp.p2d2.cz/media/2026/submissions/CKPR7B/bojan_copy1_a5FtxHQ.png", "date": "2026-01-28T10:15:00+01:00", "start": "10:15", "duration": "00:50", "room": "107", "slug": "2026-37-switching-me-softly-zero-downtime-major-postrgresql-upgrades-at-fresha", "url": "https://cfp.p2d2.cz/2026/talk/CKPR7B/", "title": "Switching Me Softly: Zero-downtime Major PostrgreSQL Upgrades at Fresha", "subtitle": "", "track": "backups & replication", "type": "Talk", "language": "en", "abstract": "Upgrading PostgreSQL in production is rarely about tools, it\u2019s about timing, trust, and everything that can break in between.\r\nAt Fresha we had quute a few of Postgres 12 databases, streaming changes through Debezium into Kafka, serving live traffic around the clock. With end-of-life approaching, \u201cjust run pg_upgrade\u201d wasn\u2019t an option.\r\n\r\nWe built a blue-green upgrade process based on logical replication, sequence offsets, connector handover, and PgBouncer choreography: a way to move clusters forward without downtime or broken streams.\r\nThis talk shares how we made it repeatable: YAML configs, dry-run rehearsals, reversible scripts, and a few hard lessons learned along the way.\r\n\r\nWhen the switch finally happened, no one noticed. That\u2019s how you know it worked.", "description": "This talk expands on Fresha\u2019s Switching Me Softly framework: a production-tested zero-downtime upgrade path from PostgreSQL 12 \u2192 17.\r\n\r\nIt covers:\r\n\r\n* Logical replication with WAL origin alignment\r\n\r\n* Coordinating Debezium CDC and outbox connectors\r\n\r\n* PgBouncer two-phase switchover (read-only \u2192 write)\r\n\r\n* YAML-driven orchestration and dry-run safety modes\r\n\r\n\r\nWe upgraded dozens of databases, including multi-terabyte clusters, without a second of downtime.\r\nThe session focuses on real engineering trade-offs what worked, what didn\u2019t, and how to make major PostgreSQL upgrades safe, reversible, and boring.", "recording_license": "", "do_not_record": false, "persons": [{"code": "7VU9HU", "name": "Anton Borisov", "avatar": "https://cfp.p2d2.cz/media/avatars/7VU9HU_EN4PMKx.jpg", "biography": "Anton Borisov is a Principal Data Architect who builds real-time data platforms at the edge of what's possible with Flink, Kafka, and emerging open-source technologies. At Fresha, he has led mission-critical projects ranging from zero-downtime Postgres migrations to streaming architectures powering real-time customer analytics. A recognized voice in the data streaming community, Anton writes deep technical explorations that influence how engineers approach Flink, Iceberg, Paimon and StarRocks, bridging research,", "public_name": "Anton Borisov", "guid": "3f8b2e8f-50e0-5179-be97-27c76b1f22f9", "url": "https://cfp.p2d2.cz/2026/speaker/7VU9HU/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/CKPR7B/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/CKPR7B/", "attachments": [{"title": "Slides in pdf", "url": "/media/2026/submissions/CKPR7B/resources/P2D2-switching-me-softly_UShNGVc.pdf", "type": "related"}]}, {"guid": "52f1ad63-a633-5bde-9b7a-767bd5ec7c9f", "code": "WSQKUL", "id": 24, "logo": "https://cfp.p2d2.cz/media/2026/submissions/WSQKUL/IMG_6166_AgFmbOU.jpeg", "date": "2026-01-28T11:10:00+01:00", "start": "11:10", "duration": "00:50", "room": "107", "slug": "2026-24-timescaledb-collecting-and-visualizing-iot-data", "url": "https://cfp.p2d2.cz/2026/talk/WSQKUL/", "title": "TimescaleDB - collecting and visualizing IOT data", "subtitle": "", "track": "forks", "type": "Talk", "language": "cs", "abstract": "The session provides a walkthrough of key TimescaleDB features used for IoT data collection and visualization. It explores the functionality and benefits of continuous aggregates (CAGGs), data compression, and data retention - highlighting how these features relate to each other and how to maintain them effectively.\r\n\r\nThe talk also compares approaches tailored to different data characteristics (dense vs. sparse datasets) and discusses how these choices impact downstream tools such as Grafana dashboards.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "MWXZJ9", "name": "Michal Bartak", "avatar": "https://cfp.p2d2.cz/media/avatars/MWXZJ9_GlCCv9F.jpg", "biography": "I\u2019ve been working with databases since around 2000 and have focused entirely on PostgreSQL since 2010. Over the years, I\u2019ve gained hands-on experience building performant, mission-critical software - experience that I\u2019ve been able to pass on while leading database development teams.\r\n\r\nI enjoy sharing practical insights on software architecture and programming, and helping others connect more closely with the PostgreSQL community.", "public_name": "Michal Bartak", "guid": "888df257-dc86-5f5f-aa3f-0325a5f46d50", "url": "https://cfp.p2d2.cz/2026/speaker/MWXZJ9/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/WSQKUL/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/WSQKUL/", "attachments": [{"title": "Presentation", "url": "/media/2026/submissions/WSQKUL/resources/TimescaleDB-IoT-202601_60CT8tN.pdf", "type": "related"}]}, {"guid": "736cd715-21ce-53a9-b334-140eff430cee", "code": "UEBNWK", "id": 55, "logo": null, "date": "2026-01-28T14:15:00+01:00", "start": "14:15", "duration": "00:50", "room": "107", "slug": "2026-55-hey-i-m-using-that-fixing-lock-contention-in-oltp", "url": "https://cfp.p2d2.cz/2026/talk/UEBNWK/", "title": "Hey, I'm using that! Fixing lock contention in OLTP.", "subtitle": "", "track": "performance", "type": "Talk", "language": "en", "abstract": "Some transaction processing workloads end up with horrible lock contention because they end up blocked on updating the same rows. There are now databases that advertise running this workload a 1000 times faster than PostgreSQL. In this talk will discuss strategies how to manage this contention in PostgreSQL while retaining application correctness. How network latencies, different isolation levels, optimistic and pessimistic concurrency control, deadlocks and livelocks affect the capability to get work done. Working with the database allows us to take a large step closer to single-purpose database performance while staying in our familiar PostgreSQL land.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "8QMEFN", "name": "Ants Aasma", "avatar": "https://cfp.p2d2.cz/media/avatars/8QMEFN_wchLYm5.jpg", "biography": "Ants has been using PostgreSQL for 2 decades, and has been a consultant and developer of PostgreSQL at Cybertec since 2012. He has contributed to a few features of PostgreSQL core, to Patroni and various other tools here and there. His main areas of focus are performance, reliability and observability.", "public_name": "Ants Aasma", "guid": "730bf7c3-da1a-5f83-84a3-a9aa323f8412", "url": "https://cfp.p2d2.cz/2026/speaker/8QMEFN/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/UEBNWK/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/UEBNWK/", "attachments": [{"title": "Slides", "url": "/media/2026/submissions/UEBNWK/resources/fixing-locks_NRyp3UJ.pdf", "type": "related"}]}, {"guid": "3972fb7a-959c-5a81-871c-1e3b2b31da20", "code": "Q7EWET", "id": 70, "logo": null, "date": "2026-01-28T15:35:00+01:00", "start": "15:35", "duration": "00:50", "room": "107", "slug": "2026-70-cloud-native-postgres-observability-from-client-apps-to-underlying-cloud-resources", "url": "https://cfp.p2d2.cz/2026/talk/Q7EWET/", "title": "Cloud-native Postgres observability: from client apps to underlying cloud resources", "subtitle": "", "track": "containers", "type": "Talk", "language": "en", "abstract": "In the current era of cloud computing, the days of managing single-app systems with standalone databases are long gone. Instead, we find ourselves responsible for overseeing complex systems containing hundreds of services and dozens of databases. Adding to the challenge is the dynamic nature of these systems, where databases can migrate between nodes, and their storage performance can be adjusted on the fly.\r\nIn this presentation, we will explore strategies for maintaining observability of Postgres databases in complex cloud environments. Topics include leveraging eBPF for generating comprehensive service maps and instrumenting Postgres calls across various client applications to specific databases. Additionally, we explore automatic discovery mechanisms for topologies within High Availability (HA) Postgres clusters, facilitated by different Kubernetes Operators. Furthermore, the talk addresses the importance of monitoring underlying cloud resources, encompassing virtual machines (VMs), storage volumes, and network components.", "description": "", "recording_license": "", "do_not_record": false, "persons": [{"code": "TQ8HNB", "name": "Peter Zaitsev", "avatar": "https://cfp.p2d2.cz/media/avatars/TQ8HNB_RwXht2F.jpg", "biography": "Peter Zaitsev is an entrepreneur and co-founder of Percona, Coroot and other tech companies. As one of the leading experts in Open Source strategy and database optimization, Peter has applied his technical knowledge and entrepreneurial drive to contribute as a board member and advisor to several open source startups. Additionally, Peter is the co-author of the book \"High Performance MySQL: Optimization, Backup and Replication,\" one of the most popular books on MySQL performance.", "public_name": "Peter Zaitsev", "guid": "6dcee61b-5dbd-5315-a326-5a6d4e695c8a", "url": "https://cfp.p2d2.cz/2026/speaker/TQ8HNB/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/Q7EWET/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/Q7EWET/", "attachments": [{"title": "Talk Slides PDF", "url": "/media/2026/submissions/Q7EWET/resources/PGDay-Prague-2026-Coroot-Cloud_ouPX15I.pdf", "type": "related"}]}, {"guid": "81bb47e9-7679-5f8e-8e0c-77a8b2a51851", "code": "9AHQ7F", "id": 44, "logo": null, "date": "2026-01-28T16:30:00+01:00", "start": "16:30", "duration": "00:50", "room": "107", "slug": "2026-44-knocking-at-the-door-fuzzing-libpq-and-pgbouncer", "url": "https://cfp.p2d2.cz/2026/talk/9AHQ7F/", "title": "Knocking at the Door: Fuzzing libpq and PgBouncer", "subtitle": "", "track": "security", "type": "Talk", "language": "en", "abstract": "Fuzzing is a simple but powerful technique for discovering edge-case bugs in large, stateful systems like PostgreSQL.\r\n\r\nThis talk shows how to apply it to Postgres\u2019 client library libpq and commonly used connection pooler PgBouncer - both handle every network connection before the server sees a query.\r\n\r\nWe\u2019ll walk through building minimal harnesses, generating and mutating protocol inputs, and reasoning about what makes fuzzing effective on complex C codebases.\r\n\r\nThe session is meant as a practical guide: how to start fuzzing a Postgres-related project, what challenges to expect, and what kind of issues you can realistically uncover along the way.", "description": "In this session you will learn:\r\n* what fuzzing is and why it finds bugs other techniques miss\r\n* which PostgreSQL surfaces make good fuzzing targets and why\r\n* how to apply fuzzing to Postgres networking components (libpq, PgBouncer)\r\n\r\nIf you\u2019re a PostgreSQL developer, this talk will add another tool for improving the stability and security of the projects you build.", "recording_license": "", "do_not_record": false, "persons": [{"code": "KRDWZK", "name": "Adam Wolk", "avatar": "https://cfp.p2d2.cz/media/avatars/KRDWZK_rm3Jg6Q.jpeg", "biography": "Adam Wolk is Technical Principal Program Manager for Postgres at Microsoft. An OpenBSD developer with a passion for database engineering, distributed systems, and information security, Adam brings over a decade of experience building complex systems - from embedded C on ARM to distributed SQL in the cloud. He currently leads efforts in Azure Database for PostgreSQL, pushing the boundaries of open source and cloud-native database innovation.", "public_name": "Adam Wolk", "guid": "b50ea1de-be81-52ca-b131-64279996c8b1", "url": "https://cfp.p2d2.cz/2026/speaker/KRDWZK/"}], "links": [], "feedback_url": "https://cfp.p2d2.cz/2026/talk/9AHQ7F/feedback/", "origin_url": "https://cfp.p2d2.cz/2026/talk/9AHQ7F/", "attachments": []}]}}]}}}