<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf.EU 2023</title><start>2023-12-12</start><end>2023-12-15</end><days>4</days><baseurl>https://www.postgresql.eu/events/pgconfeu2023/schedule/</baseurl></conference><day date="2023-12-12"><room name="Other"><event id="4946"><start>08:15</start><duration>00:45</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4946/</url><track>Breaks</track><persons /></event></room><room name="Aquarius"><event id="4766"><start>09:00</start><duration>08:00</duration><room>Aquarius</room><title>From scratch to a three node Patroni cluster</title><abstract>Patroni is one of the most popular tools to make PostgreSQL highly available. In this workshop, you'll setup a three node Patroni cluster from scratch, using your dedicated VMs in AWS. All you need is your notebook, a browser based on Chromium, and a PDF reader. We'll start with high availability concepts and the PostgreSQL installation in the morning. Once we have that, we'll continue with the Patroni installation and configuration right after lunch. By the end of the day, you'll be able to do planned switchovers, you'll understand un-planned failovers, and you'll know how to operate a Patroni cluster. You'll find all the steps in the slides, but you'll be busy on the keyboard all day. There is no better way to learn than doing it on your own.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4766/</url><track>Training</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Taurus"><event id="4765"><start>09:00</start><duration>08:00</duration><room>Taurus</room><title>How to become a PostgreSQL DBA in a day</title><abstract>In this tutorial, we will go through the typical day-to-day of PostgreSQL DBA, which includes following sections:

* Basic operating system configuration,
* PostgreSQL installation and basic configuration,
* PgBouncer installation and configuration,
* Backup and recovery procedures,
* Replica setup,
* Basics of PostgreSQL observability,
* Regular DBAs tasks, such as upgrades, query optimization and troubleshooting.

Each section will include instructions, explanations of how they work in real life and important additional details that are normally learned the hard way. The purpose of this tutorial is to give a compact and useful guidance on where to start as PostgreSQL DBA without overwhelming the new starter with too much detail on each topic.

This tutorial is theoretical while attendees will receive materials for practicing at home. They will also have an opportunity to ask follow up questions via email up to three months after the session at pgconf.eu.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4765/</url><track>Training</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event></room><room name="Leo"><event id="4767"><start>09:00</start><duration>08:00</duration><room>Leo</room><title>Using the PostgreSQL operator on Kubernetes</title><abstract>These days many PostgreSQL databases are running inside Kubernetes, Rancher or OpenShift. The way to do this is to deploy a thing called „Kubernetes operator“. This leads to the core question: How does an operator work and how can it be utilized to deploy PostgreSQL inside Kubernetes in the best way possible. This course will discuss PostgreSQL on Kubernetes, introduce the core principles and provide a deep dive into the new world of containers. For the training, we will use the CYBERTEC-PG operator, which is completely open source, including the container suite.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4767/</url><track>Training</track><persons><person id="977">Matthias Grömmer</person></persons></event></room><room name="Virgo"><event id="4768"><start>09:00</start><duration>03:30</duration><room>Virgo</room><title>PostgreSQL Performance Problems: Monitoring and Alerting</title><abstract>PostgreSQL can be difficult to troubleshoot when the pressure is on without the right knowledge and tools. Knowing where to find the information you need to improve performance is central to your ability to act quickly and solve problems. In this training, we'll discuss the various query statistic views and log information that's available in PostgreSQL so that you can solve problems quickly. Along the way, we'll highlight a handful of open-source and paid tools that can help you track data over time and provide better alerting capabilities so that you know about problems before they become critical.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4768/</url><track>Training</track><persons><person id="792">Grant Fritchey</person><person id="810">Ryan Booz</person></persons></event><event id="4769"><start>13:30</start><duration>03:30</duration><room>Virgo</room><title>Migrating to Postgres: Practical Tips and Examples</title><abstract>As the popularity of PostgreSQL continues to soar, many companies are exploring ways of migrating their application database over. At Redgate Software, we recently added PostgreSQL as an optional data store for SQL Monitor, our flagship monitoring application, after nearly 18 years of being backed exclusively by SQL Server. Knowing that others will be taking this journey in the near future, we'd like to discuss what we learned. In this training, we'll discuss the planning that needs to take place before a migration begins, including datatype changes, PostgreSQL configuration modifications, and query differences. This will be a mix of slides and demo from our own learnings, as well as those of some clients we've helped along the way.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4769/</url><track>Training</track><persons><person id="792">Grant Fritchey</person><person id="810">Ryan Booz</person></persons></event></room></day><day date="2023-12-13"><room name="Other"><event id="4947"><start>08:30</start><duration>01:00</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4947/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4959"><start>09:30</start><duration>00:15</duration><room>Meridian</room><title>Welcome and Opening</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4959/</url><track>PGConf.EU</track><persons><person id="1">Magnus Hagander</person></persons></event><event id="4724"><start>09:50</start><duration>00:50</duration><room>Meridian</room><title>The Next 20 Years</title><abstract>Postgres rules ok! What next? What features do we need? What will the future look like? How will we get there? What challenges will we face?</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4724/</url><track>Keynotes</track><persons><person id="17">Simon Riggs</person></persons></event></room><room name="Other"><event id="4948"><start>10:40</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4948/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4592"><start>11:10</start><duration>00:50</duration><room>Meridian</room><title>Vectors are the new JSON</title><abstract>Vectors are a centuries old, well-studied mathematical concept, yet they pose many challenges around efficient storage and retrieval in database systems. The heightened ease-of-use of AI/ML has lead to a surge of interested of storing vector data alongside application data, leading to some unique challenges. PostgreSQL has seen this story before with JSON, when JSON became the lingua franca of the web. So how can you use PostgreSQL to manage your vector data, and what challenges should you be aware of?

In this session, we'll review what vectors are, how they are used in applications, and what users are looking for in vector storage and search systems. We'll then see how you can search for vector data in PostgreSQL, including looking at best practices for using pgvector, an extension that adds additional vector search capabilities to PostgreSQL. Finally, we'll review ongoing development in both PostgreSQL and pgvector that will make it easier and more performant to search vector data in PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4592/</url><track>Developer</track><persons><person id="6">Jonathan S. Katz</person></persons></event></room><room name="Zenit"><event id="4743"><start>11:10</start><duration>00:50</duration><room>Zenit</room><title>The SQL standard: Where does it come from? Where does it go?</title><abstract>For most of the existence of the PostgreSQL project, the SQL standard was treated as something that was mysteriously thrown over the fence every few years. No longer: PostgreSQL community members including myself have been involved in the development of the SQL standard for a few years now, and I can shed some light on the process.

We have also gotten a new version of the SQL standard earlier this year, so in time for PostgreSQL 16. I will show what is new, where PostgreSQL stands, and what is planned for future versions.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4743/</url><track>Internals</track><persons><person id="503">Peter Eisentraut</person></persons></event></room><room name="Nadir"><event id="4866"><start>11:10</start><duration>00:50</duration><room>Nadir</room><title>Linux IO internals for PostgreSQL administrators in 2023</title><abstract>Input-output performance problems are on every day agenda for DBAs since the databases exist. Volume of data grows rapidly and you need to get your data fast from the disk and moreover - fast to the disk. For most databases there is a more or less easy to find checklist of recommended Linux settings to maximize IO throughput. In most cases that checklist is good enough. But it is always better to understand how it works, especially if you run into some corner-cases. This talk is about how IO in Linux works, how database pages travel from disk level to database own shared memory and back and what kind of mechanisms exist to control this. We will discuss memory structures, swap and page-out daemons, filesystems, schedullers and IO methods. Some fundamental differences in IO approaches between PostgreSQL, Oracle and MySQL will be covered</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4866/</url><track>DBA</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event></room><room name="Meridian"><event id="4605"><start>12:10</start><duration>00:50</duration><room>Meridian</room><title>From Map to Reality: Using PostGIS in Warfare</title><abstract>In this engaging session, we delve into the fascinating intersection of geospatial analysis and modern warfare. We will explore potential use cases where PostgreSQL's geospatial extension, PostGIS, along with techniques like trilateration and pelengation, could have been utilized to gain strategic advantages.

We will start by laying the groundwork with an introduction to PostGIS, including its capabilities and benefits for geospatial analysis. Following this, we will demystify the concepts of trilateration and pelengation, demonstrating how these techniques can be employed to accurately locate enemy devices on the battlefield.

This presentation will encourage you to consider the broader implications of using geospatial technology in battlefields. By demonstrating the power and potential of these tools.

This session is designed for a wide audience: from database enthusiasts curious about PostGIS to military strategists interested in the potential of geospatial technologies. No matter your background, you will leave with a newfound appreciation for the powerful combination of PostGIS and warfare strategy.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4605/</url><track>Developer</track><persons><person id="604">Taras Kloba</person></persons></event></room><room name="Zenit"><event id="4855"><start>12:10</start><duration>00:50</duration><room>Zenit</room><title>Elephant in a nutshell - Navigating the Postgres community 101</title><abstract>If you are a newcomer to PostgreSQL or want to be more active within the community you need to understand how the community works, what different roles are, where to look for help and who stands behind the “PostgreSQL community”. 

This talk will provide an overview of:

* different roles within the community, communication channels where one can look for help, conferences and events;
* user groups - How to start a user group? What are the steps for having a successful meetups? What are some challenges and where to get support?;
* postgres development - commitfest, roles and responsibilities and the overall process.

Presentation will have references to other talks, guides and materials that dive deeper into specific processes within the community. It can be served as a toolbox for anyone who is looking to join and contribute to further development of The World's Most Advanced Open Source Relational Database.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4855/</url><track>General</track><persons><person id="657">Valeria  Kaplan</person></persons></event></room><room name="Nadir"><event id="4845"><start>12:10</start><duration>00:50</duration><room>Nadir</room><title>Multi-threaded PostgreSQL?</title><abstract>I started a thread on pgsql-hackers "Let's make PostgreSQL multi-threaded" in June. That spurred a lot of discussion, which even made it to LWN and hacker news.

There is little code to show, but I will paint a picture of what it would look like:

- Multithreading vs multi-process architectures in general
- Pros and cons
- How exactly multiple threads could be used
- Hybrid approaches
- Previous attempts
- How other large projects have made the switch
- How PostgreSQL can make the switch</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4845/</url><track>Internals</track><persons><person id="11">Heikki Linnakangas</person></persons></event></room><room name="Tycho"><event id="5150"><start>12:10</start><duration>00:50</duration><room>Tycho</room><title>How to build an open and portable cloud</title><abstract>Ubicloud is an open and portable cloud. Think of it as an open alternative to cloud providers, like what Linux is to proprietary operating systems.

This talk shares Ubicloud’s architecture and provides an overview of how its cloud services are designed. At the end of this talk, you’ll have a good understanding of tradeoffs involved in building a portable cloud using open source software. In particular, we’ll cover the following:

* Elastic Compute: We use Linux KVM for virtualization and Cloud Hypervisor as our virtual machine monitor (VMM).
* Virtual Networking: We support IPv4 and IPv6 in a dual-stack setup and provide both public and private networking. Everything is encrypted with IPsec.
* Block storage: We use Storage Performance Development Toolkit (SPDK) to provide virtualized block storage to VMs.
* Managed PostgreSQL: We use Knot DNS for database connections and an open source S3 implementation for backup/restore.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5150/</url><track>Sponsors</track><persons><person id="1026">Ozgun Erdogan</person></persons></event></room><room name="Other"><event id="4949"><start>13:00</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4949/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4665"><start>14:00</start><duration>00:50</duration><room>Meridian</room><title>Tuning PostgreSQL to work even better</title><abstract>We all know that Postgres is a popular database for many different applications. Developers love the fact that Postgres "just works" out of the box. On the other hand, the default parameter values aren't always right for production, and you might not have a DBA on hand to configure them for you.

Fortunately, you don't need to learn about all 350+ Postgres parameters to get the most out of your database. We'll look at the most important settings, and give some rules of thumb for tuning them according to your use-case, to make sure your database performs at its best. Then you can leave Postgres to "just work", and you can focus your efforts on developing your application.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4665/</url><track>DBA</track><persons><person id="667">Karen Jex</person></persons></event></room><room name="Zenit"><event id="4774"><start>14:00</start><duration>00:50</duration><room>Zenit</room><title>Getting the most out of pg_stat_io</title><abstract>Starting with PostgreSQL 16 there is a new catalog view called "pg_stat_io". Traditionally PostgreSQL did not provide much details when it comes to I/O statistics and this will change from version 16 on. This is all about extends, reads and writes, and statistics related to the buffer cache. By attending this talk you'll get a better understanding what PostgreSQL is doing I/O wise and we'll also cover direct I/O, which currently is a developer feature which is supposed to evolve over the next releases.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4774/</url><track>DBA</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Tycho"><event id="5153"><start>14:00</start><duration>00:50</duration><room>Tycho</room><title>"Best practices for building extensions"</title><abstract>Postgres is a great database by itself with what's in the box, but when you add in extensions the innovation is nearly limitless. But what's involved in building an extension, where do you begin, and what should you consider if you want to contribute to the ecosystem of Postgres extensions. We'll look at what extensions are, best practices and guidance.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5153/</url><track>Sponsors</track><persons><person id="1029">Co-Presenters Craig Kerstiens and Marco Slot</person></persons></event></room><room name="Nadir"><event id="4904"><start>14:00</start><duration>00:50</duration><room>Nadir</room><title>Making your patch more committable</title><abstract>Getting a patch committed in Postgres can be difficult. If you've ever written a patch that's "stalled out" on the mailing list, then this talk is for you!

In this talk, I'll provide concrete ideas for how you can increase the committability of your patch and make it more likely to end up a PostgreSQL feature. And I'll provide similarly concrete ideas for what committers and senior contributors can do to improve the state of patches sent to the mailing list.

I'll explain how to:

- Communicate the state of a patch
- Solicit (and provide) the feedback required to move a patch forward
- Design correct, minimal, fast, and stable tests
- Design correct performance tests and communicate their results
- Break up large patches into smaller, independently committable pieces</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4904/</url><track>Internals</track><persons><person id="993">Melanie Plageman</person></persons></event></room><room name="Meridian"><event id="4706"><start>15:00</start><duration>00:50</duration><room>Meridian</room><title>Performance tricks you have never seen before 2.0</title><abstract>This is the second addition of performance tricks one has never seen before. Let us take a look at some of the hidden trickery a PostgreSQL consultant can use to make life better.
Everything from indexes to storage to query tuning to other tricks. In this talk there will be wisdom which is passed on from "PostgreSQL druid to PostgreSQL druid" only.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4706/</url><track>DBA</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event></room><room name="Zenit"><event id="4814"><start>15:00</start><duration>00:50</duration><room>Zenit</room><title>Explaining the PostgreSQL concurrency control mechanisms using rollercoasters</title><abstract>Understanding how PostgreSQL handles multiple requests at the same time is one of the most important concepts when working with it. Without understanding this 
the Multi Version Concurrency Control (MVCC) mechanisms it is hard, if not impossible, to understand and predict how an application will behave. 

In this visually attractive presentation I will slowly build a great understanding about this key database concept with the help of rollercoasters. At the end of the presentation you will have a good understanding on what data is visible to what user and why. In order to build your understanding I will guide you through topics as ACID, locking, transaction space, transaction wrap around, freezing and isolation levels. This might sound like complicated but it is all very logical and perfectly understandable for all developers and DBA's.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4814/</url><track>DBA</track><persons><person id="859">Derk van Veen</person></persons></event></room><room name="Tycho"><event id="5145"><start>15:00</start><duration>00:50</duration><room>Tycho</room><title>The Migration Puzzle</title><abstract>All beginnings are difficult, especially if you don't start with Postgres.

This applies to puzzles as well, the start is hard and the more progress you made the easier it becomes
usually.

Today we want to talk about the long, hard road of database migrations away from proprietary
DBMS and towards PostgreSQL. I'd like to talk about experiences we made during large migration projects and
all the challenges we faced. This talk tries to balance between a deep dive into technical challenges, infrastructure,
organizational problems and many other parts you currently might not even consider. All those things are parts of the
migration puzzle and when they all fit together you end up in the really cool world of
open source and PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5145/</url><track>Sponsors</track><persons><person id="1021">Bernd Helmle</person></persons></event></room><room name="Nadir"><event id="4783"><start>15:00</start><duration>00:50</duration><room>Nadir</room><title>The journey towards active-active replication in PostgreSQL</title><abstract>The way to distribute data from PostgreSQL has evolved over the past decade, making it simpler to build systems for high availability, move data to other locations, or manage independent shards. Much of this is due to logical replication, which allows users to define exactly how they want to stream data between different databases.

In this talk, we will explore how logical replication has evolved over the past decade. We will explore different use cases for logical replication and how PostgreSQL solves them. We'll also review current and planned features for logical replication, including new and ongoing features such as bidirectional replication, parallel apply of transactions, and DDL replication.

Finally, we will propose a roadmap for logical replication to solve more high availability and scalability problems, and how we can build towards active-active replication.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4783/</url><track>DBA</track><persons><person id="6">Jonathan S. Katz</person></persons></event></room><room name="Other"><event id="4950"><start>15:50</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4950/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4847"><start>16:20</start><duration>00:50</duration><room>Meridian</room><title>Understanding and Fixing Autovacuum</title><abstract>In this talk, I'll explain how autovacuum decides which tables to vacuum and analyze and when to perform these operations, with an emphasis on how these algorithms can go wrong. Then, I'll discuss troubleshooting steps that you can take on your system to determine why autovacuum is not performing as expected, as well as how you can fix the problems you might discover.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4847/</url><track>DBA</track><persons><person id="264">Robert Haas</person></persons></event></room><room name="Zenit"><event id="4773"><start>16:20</start><duration>00:50</duration><room>Zenit</room><title>A journey into postgresql logical replication</title><abstract>Late last year Toggl Track engineering team embarked on a journey to develop a postgres-based close to real-time OLAP database system to better serve our reporting needs. Toggl Track has been using a monolithic Postgres database since its beginnings and the goal was to progressively shift away our report queries from the transactional database creating a CDC on top of it, leveraging logical replication by using data-changing events, and applying whatever transformations are required to reach the desired - report-friendly - data model, OLAP.

We hit a number of difficulties in the process, one of them was caused by incorrect assumptions when it comes to the usage of logical replication events coming out of Postgres, as - when tapped into the production databases - our log offsets (LSNs) would go haywire due to the high transactional load, not easily replicable in dev or staging environments.

Took months of experimentation, debugging, and workarounds till we finally concluded that we were indeed losing data in production, as the issue would only present itself when the client (golang application) was restarted and when that restart coincided with out-of-order log offsets. After that, took an attempt to build our own WAL parser and a few email exchanges with pg developers to figure out the correct way to keep track of logical replication events, and keep the correct offsets in check.

There are a number of open-source projects making the same bad assumptions when it comes to logical replication event order, and there is very little if any material on how to properly do this.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4773/</url><track>Developer</track><persons><person id="974">José Neves</person></persons></event></room><room name="Nadir"><event id="4590"><start>16:20</start><duration>00:50</duration><room>Nadir</room><title>Know the less known about PostgreSQL</title><abstract>When you start using PostgreSQL, you start hearing some words: LSN, relfrozenxid, cluster, ctid, cmin, cmax, multixactid, age, datfrozenxid, etc.

Have you ever wondered what they are, what they are used for, and how to take care of them?

In this talk, I'll give details of these less known things in PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4590/</url><track>Internals</track><persons><person id="49">Devrim Gündüz</person></persons></event></room><room name="Tycho"><event id="5147"><start>16:20</start><duration>00:50</duration><room>Tycho</room><title>Building awesome AI applications faster on PostgreSQL</title><abstract>Building AI applications on PostgreSQL is a hot topic these days. In this session, you will learn about the emerging set of capabilities: vector database, generative AI, and machine learning (ML). Walking through example use cases such as embedding generation, recommendation systems, and sentiment analysis, you will have a better understanding of how to use pgvector, the leading open-source vector extension for Postgres. And you’ll learn about azure_ai, a newly introduced Postgres extension that enables the use of Azure OpenAI and Azure Cognitive Services on PostgreSQL, to handle advanced AI/ML scenarios faster and directly on Azure Database for PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5147/</url><track>Sponsors</track><persons><person id="1023">Arda Aytekin</person></persons></event></room><room name="Meridian"><event id="4826"><start>17:20</start><duration>00:50</duration><room>Meridian</room><title>PostgreSQL Distributed: Architectures &amp; Best practices</title><abstract>While PostgreSQL is seen as a single server database system, most of the time we actually run it in a distributed set up. You might already be using a hot standby, network-attached storage, read replicas, postgres_fdw, or even a more explicitly distributed set up that uses sharding, Citus, a distributed fork of PostgreSQL, or decoupled storage &amp; compute. This talk will discuss the properties and trade-offs of different distributed PostgreSQL architectures.

Distributed database systems inherently involve trade-offs regarding response time &amp; throughput, scalability, durability, availability, consistency, and operational simplicity. Navigating those trade-offs can be a challenge. We will walk through various examples of typical distributed set ups and contrast different alternatives. Performance and scalability will be especially important themes.

At the end of the talk, you should have a better understanding of different distributed PostgreSQL architectures, the trade-offs involved, when to apply which architecture, and some best practices to follow.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4826/</url><track>DBA</track><persons><person id="242">Marco Slot</person></persons></event></room><room name="Zenit"><event id="4822"><start>17:20</start><duration>00:50</duration><room>Zenit</room><title>How I found my Pokémon cards thanks to Postgres: an AI journey</title><abstract>When it comes to data storage and retrieval, PostgreSQL offers more than just traditional tabular data management. This session explores the exciting potential of combining PostgreSQL with AI technologies, illustrated through a relatable example—finding and identifying specific Pokémon cards. While Pokémon cards serve as a fun and engaging example, the techniques presented have wide applications in various data-driven domains such as object detection and autonomous driving.

We'll begin with an overview of the machine learning pipeline for image recognition where we’ll discuss how a Convolutional Neural Network (CNN) can be trained to recognize Pokémon cards, generating embeddings that capture essential visual features.

Our main focus will be on pgvector, an extension for PostgreSQL dedicated for managing vector data like embeddings efficiently. We will cover how to store such embeddings, set up indexes for quick retrieval, and conduct similarity searches right within your PostgreSQL database, and at scale!

If you're intrigued by the integration of AI with PostgreSQL for real-time, high-performance data operations, this session will offer both theory and hands-on practices to get you started.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4822/</url><track>Developer</track><persons><person id="978">Matt Cornillon</person></persons></event></room><room name="Tycho"><event id="5155"><start>17:20</start><duration>00:50</duration><room>Tycho</room><title>Database DevOps: Accelerating Changes from Dev to Production with Flyway</title><abstract>Whether you are the DBA for an Agile, Sprint-based team, or a developer with DBA responsibilities, you may feel like the development bottleneck at every turn. Managing migrations with your ORM of choice is easy but often error-prone, slow and hard to manage as the project grows. Or worse yet, maybe your schema and change management is a folder full of poorly commented SQL scripts saved to a shared folder or local drive.

Surely there's a better, SQL-centric way to manage databases as code, validate changes, and deploy updates - right? Yes, there is!

This session will explore what database DevOps is and how Flyway can help you manage database schema and code changes with speed and accuracy, while incorporating agile CI/CD practices. The session will conclude with a demo of Flyway and Redgate Test Data Manager to create a schema change using thin clones of production-like data, managing changes through dev, testing, and prod.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5155/</url><track>Sponsors</track><persons><person id="1031">Ryan Booz</person></persons></event></room><room name="Nadir"><event id="4602"><start>17:20</start><duration>00:50</duration><room>Nadir</room><title>How to corrupt your database (and how to deal with data corruption)</title><abstract>PostgreSQL is quite foolproof and makes it hard to break the database. Still, people keep finding ways to cause data corruption.
The first part of my talk presents popular methods for breaking PostgreSQL that you should be careful to avoid. That is, unless you are keen on to try out the techniques to deal with data corruption that I will present in the second part of my talk.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4602/</url><track>DBA</track><persons><person id="191">Laurenz Albe</person></persons></event></room><room name="Other"><event id="4945"><start>18:15</start><duration>03:00</duration><room>Other</room><title>PostgreSQL Europe Reception</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4945/</url><track>PGConf.EU</track><persons /></event></room></day><day date="2023-12-14"><room name="Other"><event id="4951"><start>09:00</start><duration>00:30</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4951/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4707"><start>09:30</start><duration>00:50</duration><room>Meridian</room><title>PostgreSQL Security: The defense line for your data</title><abstract>Security is one of the most important aspect when using PostgreSQL databases, but unfortunately, we face again and again installations with no or low security features enabled.
In this presentation we will have a look at the various security aspects of PostgreSQL, such as encrypted connections, implementation of access control and the management of user accounts.
Further we do a small excursion into the world of security extensions.
Do you want to protect your data from unauthorized access? Join me!</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4707/</url><track>DBA</track><persons><person id="616">Julia Gugel</person></persons></event></room><room name="Zenit"><event id="4687"><start>09:30</start><duration>00:50</duration><room>Zenit</room><title>SQLPage — Building a full web application with nothing but Postgres and SQL queries</title><abstract>In this session, I will dive deep into an open-source tool I wrote: SQLPage.
SQLPage is a web server written in rust that connects to a database, runs SQL queries, and uses the result to render web components, allowing developers to build entire web applications in SQL.

During this session, we will embark on an interactive journey where we explore the core features and architecture of SQLPage. Buckle up as we build a tiny Twitter clone entirely in SQL with postgres, right before your eyes! 

Furthermore, we will delve into the world of PostgreSQL extensions, and see how we can leverage some of them to implement advanced features for our application directly in the database. We will explore how SQLPage facilitates the extremely fast development of powerful web applications while maintaining the data integrity and performance for which PostgreSQL is renowned.

By attending this session, you will:

  - Discover an unconventional and thought-provoking approach to web application development that harnesses the power of SQL.
  - Gain insights into SQLPage's architecture and its seamless integration with PostgreSQL.
  - Learn practical techniques and best practices for developing dynamic web applications with SQLPage.
  - Discover some lesser-known Postgres extensions.

Whether you're a seasoned PostgreSQL expert or a junior developer eager to build a stunning UI over your database, this session is designed to ignite your curiosity and challenge your perceptions. Are you ready to ask yourself, "Do I need anything more than PostgreSQL for my fancy web app?"

Join me in uncovering the untapped potential of SQL and witness how SQLPage can revolutionize the way we build dynamic web applications with PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4687/</url><track>Developer</track><persons><person id="947">Ophir Lojkine</person></persons></event></room><room name="Nadir"><event id="4808"><start>09:30</start><duration>00:50</duration><room>Nadir</room><title>Pgpool - What, Why, and Where?</title><abstract>Pgpool-II has been around to complement PostgreSQL for over a decade and provides many features like replication, connection pooling, failover, query caching, load balancing, and HA.
Because of its name for historical reasons, its use cases still need to be discovered and widely understood. This talk aims at shedding some light on Pgpool-II, its extensive feature set, and discussion about use cases where Pgpool-II is a good or not-so-good choice.
Finally, I will highlight some of the significant enhancement areas the community has been working on.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4808/</url><track>DBA</track><persons><person id="685">Muhammad Usama</person></persons></event></room><room name="Tycho"><event id="5141"><start>09:30</start><duration>00:50</duration><room>Tycho</room><title>PostgreSQL in Kubernetes: Mission Impossible?</title><abstract>This talk is the perfect opportunity to get to know the EDB Cloud Native PostgreSQL Platform. With the help of EDB Kubernetes Operators, Postgres databases can be easily deployed and operated in Kubernetes or OpenShift landscapes. Cloud Native PostgreSQL is built on solid concepts and principles. These are based on immutable infrastructure, declarative configuration and application containers. Discover how our Kubernetes operator can be deployed in public/private/hybrid environments. Key Kubernetes features such as self-healing, high availability, scalability and rolling updates are implemented for database operations. A practical demo illustrates the basic functionalities of the operator.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5141/</url><track>Sponsors</track><persons><person id="1017">Borys Neselovskyi</person></persons></event></room><room name="Meridian"><event id="4914"><start>10:30</start><duration>00:50</duration><room>Meridian</room><title>Beginner's Guide to Partitioning vs. Sharding in Postgres</title><abstract>Partitioning has come a long way in Postgres since the Postgres 10 days, as has sharding via the Citus extension. If you need to scale your Postgres, your friends may recommend you look into partitioning and/or sharding. But what’s the difference between these two approaches?

This beginner’s guide is for those who want to start with the basics and advance from there. You’ll learn what partitioning and sharding are in Postgres; how they’re different; as well as why (and when) these capabilities can help improve query performance. You’ll learn why some people call partitioning invaluable and others call sharding a lifesaver. 

But there are gotchas and they’re not for every use case. As David Rowley says, “Understanding why partitioning helps is key to making the decision about whether to partition, what to partition on, and the type and number of partitions.” Similarly, understanding why sharding helps is key to deciding whether sharding is right for you. The concept of data locality will be touched on as well. And for those who prefer to learn by example and not just theory, yes, there will be examples.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4914/</url><track>Developer</track><persons><person id="535">Claire Giordano</person></persons></event></room><room name="Zenit"><event id="4762"><start>10:30</start><duration>00:50</duration><room>Zenit</room><title>Counting things at the speed of light with roaring bitmaps</title><abstract>Applications often need to display counts of search results broken down by attributes to make it easier for users to narrow down their search conditions. For example when looking for pink shoes, a system might show how many of sneaker, loafers and wellies are available in pink, as well as how many of each size and how many from each manufacturer. This is known as faceting, and it might be relatively simple for shoes, but can get very slow when dealing with tens of millions of records. In this talk we will take a look at how to implement faceting in PostgreSQL. Starting from simple SQL implementation, and building up to the approach that pgfaceting offers users. On the way we will see how to use parallelism, roaring bitmaps, TOAST tuning, and other performance tricks to make PostgreSQL perform on a level that once needed purpose built tools.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4762/</url><track>Developer</track><persons><person id="868">Ants Aasma</person></persons></event></room><room name="Nadir"><event id="4712"><start>10:30</start><duration>00:50</duration><room>Nadir</room><title>Advanced Authentication and Encrypted Connections</title><abstract>PostgreSQL supports a number of different authentication mechanisms and while many of them are quite simple and easy to use, the enterprise-level authentication systems, which also support encryption of the connection, require setup beyond PostgreSQL and a deeper understanding of how authentication works.

This talk will cover implementing the two most prevelant enterprise authentication schemes- Kerberos/GSSAPI (used extensively by universities and businesses, and is the authentication system for Microsoft Windows) and Client-Side Certificates / SSL (used by many governments and high security systems).  We will go into detail on how to integrate PostgreSQL into these enterprise authentication schemes, and cover the different options and limitations, including how to ensure that all connections to your PostgreSQL server are fully authenticated (client to server and server to client) and encrypted.

We will also discuss the status of credential proxying to allow client credentials to be used to passed to PostgreSQL to allow connections to other systems, such as with postgres_fdw.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4712/</url><track>DBA</track><persons><person id="84">Stephen Frost</person></persons></event></room><room name="Tycho"><event id="5149"><start>10:30</start><duration>00:50</duration><room>Tycho</room><title>Behind the covers of managed PostgreSQL service</title><abstract>Managed PostgreSQL services are becoming increasingly popular as businesses look for ways to simplify and streamline their database operations. But what does it take to build and operate a managed PostgreSQL service?

In this talk, we will take a behind-the-scenes look at the key components of a managed PostgreSQL service. We will discuss topics such as:
- How to provision and manage PostgreSQL instances at scale
- How to ensure high availability and performance
- How to implement security and compliance measures
- How to monitor and troubleshoot PostgreSQL databases

We will also share our experience building and operating the Ubicloud managed PostgreSQL service. We will discuss the challenges we faced and the lessons we learned along the way.

This talk will be of interest to anyone who wants to learn more about managed PostgreSQL services, including: database administrators systems engineers, DevOps engineers and application developers</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5149/</url><track>Sponsors</track><persons><person id="1025">Burak Yucesoy</person></persons></event></room><room name="Other"><event id="4952"><start>11:20</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4952/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4688"><start>11:50</start><duration>00:50</duration><room>Meridian</room><title>Community Panel - Postgres at Scale: Dealing With Challenging Workloads</title><abstract>An open discussion with Postgres community members around the topic of scaling up for challenging workloads.

We will be looking at how PostgreSQL deals with each of these challenges, and discussing possible mitigations, tuning tips or workarounds.

Potentially troublesome workloads include:

* Very large datasets (incl. very large tables)
* Very high transaction rate
* Extreme concurrency (number of clients)
* Applications using anti-patterns</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4688/</url><track>General</track><persons><person id="699">Alicja Kucharczyk</person><person id="752">Henrietta Dombrovskaya</person><person id="323">Jimmy Angelakos</person><person id="6">Jonathan S. Katz</person><person id="84">Stephen Frost</person></persons></event></room><room name="Zenit"><event id="4708"><start>11:50</start><duration>00:50</duration><room>Zenit</room><title>IoT with PostgreSQL</title><abstract>Internet of Things is a currently a burgeoning market, and is often associated with specialized data-stores.  However PostgreSQL is just as capable at this use-case and can offer some compelling advantages.

We’ll explore ways to store IoT data in PostgreSQL covering various ways to store and structure this kind of data.  How range types and differing types of indexes can be of use.  Also taking a quick look at some extensions designed for this use case.

Then looking at powerful SQL features which can really help when analyzing IoT data streams, and how the power of a real SQL database can be a key advantage.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4708/</url><track>Developer</track><persons><person id="424">Chris Ellis</person></persons></event></room><room name="Nadir"><event id="4942"><start>11:50</start><duration>00:50</duration><room>Nadir</room><title>Use Ansible to herd your Elephants!</title><abstract>Are you doing a lot of repetitive work? Running deeply-nested for-loops in Bash to execute the same commands via SSH on all your clusters?
There is an easier, more robust and extensible solution: Ansible.

Ansible can be used nearly everywhere, as it only requires Ansible (on your machine), Python (on the managed machines), and SSH (connecting the two) to work.
This makes it really useful for managing all of your PostgreSQL clusters. Simply define an inventory of hosts, write some playbooks for the tasks you want to execute on all clusters and let Ansible take care of the rest.

The task will illustrate how Ansible can be used to install, configure, and administrate PostgreSQL clusters.
We'll see which patterns can be used to write efficient playbooks and which modules can be used to make interactions with PostgreSQL clusters really easy.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4942/</url><track>DBA</track><persons><person id="599">Julian Markwort</person></persons></event></room><room name="Tycho"><event id="5154"><start>11:50</start><duration>00:50</duration><room>Tycho</room><title>Supercharge Your Postgres with the Help of Extensions</title><abstract>Postgres has long been recognized as the leading open-source database for transactional use cases. However Postgres is an ideal candidate for many, many more use cases thanks to its flexible extension framework. From the most traditional database use cases like analytics, document databases, and time series - to the most eclectic, like machine learning, message queues and more. Can you forget your database zoo, and rely on our beloved Postgres?

Our answer is “Yes!”. In this talk, we will review the Postgres extension ecosystem, and we will then deep dive into a selection of use cases which can be powered by a specific Postgres recipe.  We will recommend a set of extensions and configurations for each use case. Beyond these new use cases, this talk aims to help you understand and realize the full potential of Postgres.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5154/</url><track>Sponsors</track><persons><person id="1030">Adam Hendel</person></persons></event></room><room name="Other"><event id="4953"><start>12:40</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4953/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4699"><start>13:40</start><duration>00:50</duration><room>Meridian</room><title>It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning</title><abstract>Similar to memory configurations and Active-Active, when you find yourself Googling "How to partition a Postgres table", you're usually in a tight spot. However, although real-life use cases for partitioning typically start with a large, production table where uptime is critical, most documentation and blogs only cover setting up new partitioned tables -- ignoring the delicate work necessary to migrate safely with minimal downtime.

This talk actionably addresses that knowledge gap: covering multiple ways to partition large, production tables.

This talk will discuss:
- Basic Postgres partitioning internals
- Choosing between partitioning strategies (with examples)
- Rules of thumb, and when NOT to partition
- Methods of migrating a live, production table to a partitioned table (with examples and demo code)
- Partitioning observability and maintenance</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4699/</url><track>Developer</track><persons><person id="882">Chelsea Dole</person></persons></event></room><room name="Zenit"><event id="4689"><start>13:40</start><duration>00:50</duration><room>Zenit</room><title>Learning advanced SQL the weird (and hard) way</title><abstract>Have you ever tried your hand at Advent of Code, the annual online coding challenge that takes place during the holiday season? It's a fun and challenging way to test your coding skills and get into the holiday spirit. But what if we told you that there were ways to solve the problems using only SQL?

In this talk, I will explain my experience trying to solve the advent of Code challenges with SQL only (Postgres flavor). My rules, what I learned, the hard parts, the easy parts, my tips, and my tricks (should you want to try it yourself) but overall how much it enlightened my use of Postgres and SQL.

Whether you're a seasoned Advent of Code veteran or a newcomer to the challenge, whether your SQL skills are basic or advanced, I hope that attendees will come away with a newfound appreciation for the power and flexibility of SQL, as well as some ideas for how to incorporate them into their own coding practices.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4689/</url><track>Developer</track><persons><person id="387">Lætitia AVROT</person></persons></event></room><room name="Nadir"><event id="4680"><start>13:40</start><duration>00:50</duration><room>Nadir</room><title>Add geocoordinates to your addresses in PostgreSQL</title><abstract>Geolocation data is a hot topic. A lot of data includes an address, a street name, a zip code, and a country. But where exactly is this address? And what's around this address?

To solve these questions, addresses need to be resolved to geocoordinates. The better and more precise the address data, the better the chance to find the correct coordinates.

This talk shows how addresses can be resolved using OpenSteetMap data, from within the database, using Python functions.

We also talk about the accuracy of the data by comparing the results of different address formats to known coordinates.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4680/</url><track>Developer</track><persons><person id="30">Andreas Scherbaum</person></persons></event></room><room name="Tycho"><event id="5152"><start>13:40</start><duration>00:50</duration><room>Tycho</room><title>Open Source in the Age of Cloud and Microservices</title><abstract>The movement to cloud and microservice architectures have changed the industry quite a bit recently. These changes have an influence on open source both from a community and from a business perspective.

This presentation takes you on a journey of 30+ years of free and open-source software development. It shows the evolution of the movement and the ecosystem. With changes in business models open source communities have changed and vice versa.

The requirements of cloud and microservices have forced yet another paradigm shift onto the open source world. However, the more things change, the more they stay the same. Thus this presentation also shows how resilient the open source movement is.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5152/</url><track>Sponsors</track><persons><person id="1028">Michael Meskes</person></persons></event></room><room name="Meridian"><event id="4900"><start>14:40</start><duration>00:50</duration><room>Meridian</room><title>Should I use JSON in PostgreSQL?</title><abstract>PostgreSQL provides great support for JSON objects and every developer working with this data type should learn how to take advantage of it. Instead of going through the documentation on how to use JSON in PostgreSQL, in this talk we will use a case study to learn by example. We will also complement the usage of JSON by introducing other data types such as ARRAY. We will also review some design decisions to turn JSON objects into columns and vice versa when it's convenient. This talk will help you to axe the archaic Entity-Attribute-Value (EAV) pattern from your database. We will see how to combine the power of a relational model, enhanced with the flexibility of the schema freedom provided by JSON. Not many database engines can provide the level of synergy that PostgreSQL provides.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4900/</url><track>Developer</track><persons><person id="541">Boriss Mejias</person></persons></event></room><room name="Zenit"><event id="4929"><start>14:40</start><duration>00:50</duration><room>Zenit</room><title>Don't Do High Availability, Do Right Availability</title><abstract>We as DBAs often focus on trying to provide the highest availability that we can. Perhaps that's not quite the right thing to do. Depending on your requirements you might not need all of the high availability features that are available. This talk will look at what can be done to provide a service that fits needs that are less than 24x7, but still manage to protect data integrity, and do so economically.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4929/</url><track>DBA</track><persons><person id="990">Greg Vernon</person></persons></event></room><room name="Nadir"><event id="4670"><start>14:40</start><duration>00:50</duration><room>Nadir</room><title>Postgres vs. Linux filesystems</title><abstract>Postgres heavily relies on various parts of the operating system - filesystem and buffered i/O are good examples of such fundamental dependencies. But there are many commonly used filesystems supported by Linux, from traditional ones (ext4,xfs) to modern ones (zfs, btrfs) and various exotic ones. The question is - are there significant performance differences between these filesystems for Postgres? Are there clear winners or filesystems you definitely should not use? I did a similar comparison a couple years back, but both the Postgres and kernel are continuously improving and adopting to new hardware, so let's look at fresh data.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4670/</url><track>DBA</track><persons><person id="116">Tomas Vondra</person></persons></event></room><room name="Tycho"><event id="5157"><start>14:40</start><duration>00:50</duration><room>Tycho</room><title>Finding PostgreSQL’s fit in the AI space</title><abstract>PostgreSQL may not be the first thing that comes to mind when we think about AI, but it's becoming increasingly important for a growing number of users. In this talk, we'll take a look at the current state of AI and explain why PostgreSQL has a potential to play a key role in it.

We'll start by exploring workflows and architectures, from the traditional Machine Learning approach of training and forecasting to the modern Generative AI techniques of fine-tuning and prompt engineering. In this step, we'll show how PostgreSQL can serve as a data source.

Moving forward, you’ll see how feeding the AI pipeline back to PostgreSQL can lead to accurate and consistent inference. Finally we'll look into how AI can help PostgreSQL users improve performance pattern discovery, optimize indexing, and suggest query optimizations.

As AI continues to become a bigger part of every company, this session will help you to make sure PostgreSQL and your implementations remain relevant on this journey.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5157/</url><track>Sponsors</track><persons><person id="1033">Francesco Tisiot</person></persons></event></room><room name="Other"><event id="4954"><start>15:30</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4954/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4856"><start>16:00</start><duration>00:50</duration><room>Meridian</room><title>The path to using AIO in postgres</title><abstract>For a few years we (Andres Freund, Thomas Munro, Melanie Plageman, David Rowley) have been working towards using asynchronous IO (AIO) and direct IO in Postgres. In this talk I'll describe what using AIO in postgres looks like, what we already have gotten into postgres (e.g. speeding up concurrent COPY by 3x in 16), what we are working to get into postgres 17, and what we hope to achieve longer term.

The goal of using AIO and DIO in postgres is to improve throughput, decrease latency, reduce jitter, reduce double buffering and more.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4856/</url><track>Internals</track><persons><person id="140">Andres Freund</person></persons></event></room><room name="Zenit"><event id="4749"><start>16:00</start><duration>00:50</duration><room>Zenit</room><title>Tame the growth of your database</title><abstract>Learn how to tame the growth of your database by understanding copy-on-write and HOT updates.

PostgreSQL MVCC model is based on copy-on-write semantics. To avoid write amplification on updates PostgreSQL implements a HOT-update optimization. In this talk I will go over how copy-on-write works, how HOT updates work and how you can accidentally shoot yourself in the foot by depriving the database the ability to do HOT updates. Final example will show the default behavior of the default Django ORM that makes it very easy to accidentally prevent HOT updates.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4749/</url><track>Developer</track><persons><person id="963">Adam Wolk</person></persons></event></room><room name="Nadir"><event id="4797"><start>16:00</start><duration>00:50</duration><room>Nadir</room><title>Charting My Path: Journey of a GSoC 2023 Contributor to PostgreSQL with pg_statviz</title><abstract>Join me on a captivating journey as I share my experience as a fresh contributor to the PostgreSQL community during Google Summer of Code 2023. In this talk, I'll dive into the heartwarming support that I received when embarking on my open-source adventure.
Through my contributions to the project, 'pg_statviz', I will explore the process, challenges, and triumphs that marked my initiation into the world of PostgreSQL.
The PostgreSQL community is renowned for its vibrant and welcoming nature, and I'll be your guide to showcasing just how true this reputation is. I'll be talking about the help I recieved from the developers and community members, and how this effort made my path of contribution and learning easier. 
Central to my presentation is the 'pg_statviz' tool, a minimalist tool I was happy to help make better during my GSoC project. I will provide a comprehensive overview of its functionalities, detailing how it offers database administrators and developers insights into PostgreSQL by storing data and statistics about PostgreSQL. Crafted with the purpose of capturing both cumulative and dynamic statistics within PostgreSQL, this toolset offers the capability to engage in insightful time series analysis. Its companion utility is adept at generating visually engaging representations, honing in on specific time intervals extracted from the stored statistical snapshots. This empowers users with the ability to monitor the performance of PostgreSQL over time, opening doors to potential optimization and troubleshooting requirements.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4797/</url><track>Developer</track><persons><person id="967">Rajiv Harlalka</person></persons></event></room><room name="Tycho"><event id="5222"><start>16:00</start><duration>00:50</duration><room>Tycho</room><title>Building a managed cloud service with PostgreSQL core – benefits, challenges, and lessons learned</title><abstract>With its pluggable architecture, quality code, and decades of open development PostgreSQL has proven to be a great foundation for building a cloud-based managed service. In this talk, you will hear the lessons learned from building, running, and scaling Azure Database for PostgreSQL, which serves enterprise-customer needs. You will also hear about areas where more momentum in upstream PostgreSQL could help. This session hopes to spark conversations among fellow open-source contributors about enhancement areas and at the same time increase collaboration among cloud providers or enterprises self-hosting PostgreSQL—to learn from each other, reduce vendor lock in for users, and contribute more back to the community.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5222/</url><track>Sponsors</track><persons><person id="1038">Paul Meyer</person></persons></event></room><room name="Meridian"><event id="5143"><start>17:00</start><duration>00:15</duration><room>Meridian</room><title>Why using Open Source PostgreSQL matters</title><abstract>PostgreSQL is Open Source and thus it should be used as such.
So let us break the chains of closed source and see why true Open Source matters. 
This is a pledge for Open Source and a testament to freedom in software development.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5143/</url><track>Platinum Sponsor Keynotes</track><persons><person id="1019">Hans-Jürgen Schönig</person></persons></event><event id="5140"><start>17:20</start><duration>00:15</duration><room>Meridian</room><title>Building for the Future and Betting Big on Postgres</title><abstract>The PostgreSQL community has made this technology the most relevant database in the world. As a database known for its rapid innovation and constant growth, the future is always top of mind for those who build on Postgres. 

The world is now amidst a profound technological shift. The best companies are digitally transforming 2.5 times faster than their competitors. The race is on to deliver a unified platform for database, data lake, data warehouse and AI workloads.

We’ll discuss the unique demands modern enterprises face, and how Postgres is uniquely poised to meet these broader demands, beyond traditional transactional workloads.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5140/</url><track>Platinum Sponsor Keynotes</track><persons><person id="1016">Kevin Dallas</person></persons></event><event id="5146"><start>17:40</start><duration>00:15</duration><room>Meridian</room><title>All the Postgres Things at Microsoft</title><abstract>Microsoft is investing a lot in Postgres—including in the Postgres core, Citus open source, Patroni, PgBouncer, pgcopydb, pg_cron, &amp; more Postgres extensions. And Microsoft offers two Azure managed services for PostgreSQL, one is regular and one is distributed Postgres built on Citus. In this talk, you’ll get an overview of some of the interesting Microsoft work on Postgres in the last 12 months, with a look at some of the new Postgres 16 features, the latest investments we’re making into Azure, including our most recent announcements at Ignite.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5146/</url><track>Platinum Sponsor Keynotes</track><persons><person id="1022">Charles Feddersen</person></persons></event><event id="5148"><start>18:00</start><duration>00:15</duration><room>Meridian</room><title>Towards an open, portable, and managed PostgreSQL</title><abstract>PostgreSQL has become an integral part of the modern data infrastructure. It’s open source, reliable, supports a wide range of relational database features, and has a rich extension ecosystem.

Yet, managed PostgreSQL capabilities remain inaccessible to the community. On-demand database provisioning, backup/restore, high availability, version upgrade, and user interface are essential to operating PostgreSQL at scale. Yet, they are hard to setup and harder to run on auto pilot.

This keynote will share the path to an open, portable, and managed PostgreSQL solution.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5148/</url><track>Platinum Sponsor Keynotes</track><persons><person id="1024">Ozgun Erdogan</person></persons></event></room></day><day date="2023-12-15"><room name="Other"><event id="4955"><start>09:00</start><duration>00:30</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4955/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4791"><start>09:30</start><duration>00:50</duration><room>Meridian</room><title>How we execute PostgreSQL major upgrades at GitLab, with zero downtime.</title><abstract>Upgrading your high available, high load PostgreSQL databases can be a challenge own its own.
When having customers around the globe with tight SLAs, the requirement arises to execute these upgrades with minimal or even without any downtime.

This talk walks through how we at GitLab evolved from multihour downtime windows to not causing any customer facing interference at all.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4791/</url><track>DBA</track><persons><person id="459">Alexander Sosna</person></persons></event></room><room name="Zenit"><event id="4891"><start>09:30</start><duration>00:50</duration><room>Zenit</room><title>Blazingly Fast Message Queue on Postgres with Rust</title><abstract>Message queues are an essential component in building any kind of digital product or distributed system. Like any software dependency, there are many factors to consider when choosing which message queue to use. There are dozens of options available - how do you simplify your decision? What are important factors to consider? And, what if we told you that you can just use your good old reliable Postgres DB? 

At Tembo, we built an open source extension that adds messaging queue capabilities to Postgres called PGMQ. Designed to encapsulate the best practices from prior Postgres queue implementations, PGMQ has exactly-once delivery guarantees, a SQL interface, and intuitive client SDKs in Rust and Python.

In this talk, we will demonstrate how it works, how it helped us simplify our architecture, and we will also share benchmarking analysis and comparisons against other message queues, so you can evaluate it for your own use case.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4891/</url><track>Developer</track><persons><person id="987">Adam Hendel</person></persons></event></room><room name="Tycho"><event id="5151"><start>09:30</start><duration>00:50</duration><room>Tycho</room><title>PostgreSQL IaaS vs PaaS, that is the question</title><abstract>There are many parameters to consider in the selection of the right solution: performance, deployment, support and management… and of course the inevitable question of cost. While there are no easy answers, this session will show you the key points to consider, using case studies and customer feedback. As a bonus, we’ll show you a third way to try and combine the benefits of IaaS with the functionality of PaaS through automation.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5151/</url><track>Sponsors</track><persons><person id="1027">Hervé Schweitzer</person></persons></event></room><room name="Nadir"><event id="4867"><start>09:30</start><duration>00:50</duration><room>Nadir</room><title>Postgres 16 highlight: Logical decoding on standby</title><abstract>This session will describe one of the Postgres 16 new feature related to logical decoding:  Logical decoding on standby.

We will see:

 - the challenges that have been faced during the implementation
 - how the challenges have been addressed
 - this new feature in action (live demo) with use cases
 
We  will also see what is currently missing to provide "transparent" logical replication slot failover from primary to standby (and what we currently have at our disposal, with live demo, to synchronize logical replication slot from primary to standby).</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4867/</url><track>DBA</track><persons><person id="813">Bertrand Drouvot</person></persons></event></room><room name="Meridian"><event id="4937"><start>10:30</start><duration>00:50</duration><room>Meridian</room><title>PostgreSQL Replication: 20 Pitfalls and Solutions</title><abstract>Replication is everywhere: We use it for redundancy, high availability, aggregation or distribution of data, database migration and upgrading, or even horizontal scale-out.
While replication is well supported and easy to get started with in PostgreSQL, there are some misconceptions, misconfigurations, corner cases, and other issues to be aware of that can make or break a project.

This talk covers both replication mechanisms that are built into PostgreSQL: binary replication and logical replication.
We will discuss common issues, such as WAL recycling or long running transactions, that need to be considered in any replication setup.
We will also discuss complex issues, such as transaction snapshots growing too large or subtransaction overflow, that might prevent replication or result in downtime when certain circumstances collide.
All in all, we will cover at least 20 different pitfalls and their solutions.

I've been installing, administrating and most importantly troubleshooting PostgreSQL replication setups for over five years for large and small customers, running a lot of different workloads and applications on their databases.
Last year I finished my Master’s degree with a thesis on PostgreSQL replication mechanisms and recently I discovered and fixed a serious bug with recovery of prepared transactions in PostgreSQL 13 and 14.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4937/</url><track>DBA</track><persons><person id="599">Julian Markwort</person></persons></event></room><room name="Zenit"><event id="4745"><start>10:30</start><duration>00:50</duration><room>Zenit</room><title>pg_failover_slots: The missing piece</title><abstract>pg_failover_slots is a new extension released this year that facilitates maintaining logical replication and logical change capture during physical replication failover and switchover.  This is, arguably, an essential component of being able to use logical replication reliably.

In this presentation, I will show the ideas and design behind pg_failover_slots, which challenges it solves, and how it can be configured.  I will also discuss how it can be integrated into other replication management systems such as Patroni.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4745/</url><track>DBA</track><persons><person id="503">Peter Eisentraut</person></persons></event></room><room name="Nadir"><event id="4698"><start>10:30</start><duration>00:50</duration><room>Nadir</room><title>What can't pgBackRest do for you?</title><abstract>pgBackRest, the powerful backup and restore tool for PostgreSQL, has been widely embraced by the community for its robustness and efficiency. However, every tool has its limitations, and pgBackRest is no exception. 

One area that begs for further exploration is its archiving system, which plays a vital role in enabling Point-in-Time Recovery (PITR). During this session, we will embark on a journey to uncover the missing features in this area and delve into the innovative solutions provided to enhance PostgreSQL WAL archiving effectiveness.

While taking a backup might sound easy, restoring it to reach a specific target isn't that obvious. We will then explore the challenges faced by users and database administrators to achieve a successful recovery.

The talk will be focused on three main areas:

- Archiving Configuration:
Analysis of the current archiving possibilities and their limitations
Optimizing archiving performance by leveraging parallelism and various compression algorithms

- Improved Monitoring and Reporting:
The importance of monitoring and reporting the backups and archiving system state
Analysis of the existing monitoring and troubleshooting capabilities in pgBackRest
Suggestions for enhanced metrics and alerts

- Advanced Point-in-Time Recovery (PITR) Capabilities:
Analysis of the current restore options in pgBackRest, introducing additional granularity to reach specific recovery targets
Leveraging advanced recovery techniques for partial data restoration

By attending this talk, participants will gain valuable insights into some limitations of pgBackRest and learn about potential solutions to fill the gaps. Whether you are an experienced PostgreSQL user, a database administrator, or an enthusiast exploring backup and restore options, this session will provide you with a fresh perspective to enhance your PostgreSQL data protection strategy.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4698/</url><track>DBA</track><persons><person id="440">Stefan Fercot</person></persons></event></room><room name="Tycho"><event id="5142"><start>10:30</start><duration>00:50</duration><room>Tycho</room><title>Postgres Risk Mitigation with Transparent Data Encryption</title><abstract>This presentation will begin by illustrating the main scenarios where Transparent Data Encryption is needed; we will then show how it works, from the viewpoint of the user, and discuss the performance impact of enabling this feature. In the last part of this presentation we will dive into the technical details of its implementation, including the interaction with external components such as key management software.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5142/</url><track>Sponsors</track><persons><person id="1018">Gianni Ciolli</person></persons></event></room><room name="Other"><event id="4956"><start>11:20</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4956/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4828"><start>11:50</start><duration>00:50</duration><room>Meridian</room><title>PostGIS and pgRouting: Extensions for spatial data in PostgreSQL</title><abstract>In modern applications, geographical and spatial data are rapidly gaining importance. This leads to the requirement to efficiently store and process such data within a database. The PostgreSQL extension PostGIS, is specially designed for handling geographical and spatial data, fulfills this requirement. Combining PostGIS with the pgRouting extension, results in a very powerful routing tool, all within a PostgreSQL database. We now have the ability to process and analyze spatial data, and we can find answers to questions such as "What is the shortest or the fastest route from Point A to Point B?".

Both PostGIS and pgRouting are open-source tools released under the GNU General Public License. Maintenance and development has been ensured and driven on by a large community for the past 23 years. These extensions, both can be activated directly within PostgreSQL, making the enhanced DB  a highly suitable basis for a variety of applications.

In this talk, I will provide a brief introduction to PostGIS and pgRouting, show practical examples from my daily work with geographic data, and we will explore potential use cases for PostGIS and pgRouting.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4828/</url><track>Developer</track><persons><person id="970">Marion Baumgartner</person></persons></event></room><room name="Zenit"><event id="4896"><start>11:50</start><duration>00:50</duration><room>Zenit</room><title>PostgreSQL Write-Ahead Logging (WAL): The Internals of Reliability and Recovery</title><abstract>There’s a myth that instead of the Great Wall of China, this is the real WAL that’s visible from space. Journey into the core of WAL as we break down its essential components as it optimises the equilibrium between performance and consistency. Discover the meticulous process of transaction logging, where every data alteration is precisely documented, forming the bedrock of data integrity. Navigate the intricacies of checkpoint management and how WAL gets engaged. Uncover the dynamics of crash recovery, where WAL takes the lead in choreographing the recovery process, ensuring that PostgreSQL databases gracefully rebound from unexpected disruptions.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4896/</url><track>DBA</track><persons><person id="747">Hamid Akhtar</person></persons></event></room><room name="Tycho"><event id="5144"><start>11:50</start><duration>00:50</duration><room>Tycho</room><title>PostgreSQL &amp; Kubernetes - Setting up and operating your own DBaaS</title><abstract>PostgreSQL and Kubernetes are both topics from the open source world that are becoming increasingly popular in companies and are replacing proprietary software solutions.
Nevertheless, the topic of databases in containers is still met with great skepticism or even rejection.
Join me on a journey into the world of Kubernetes in this presentation and build a DBaaS based on Kubernetes and PostgreSQL together with me.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5144/</url><track>Sponsors</track><persons><person id="1020">Matthias Grömmer</person></persons></event></room><room name="Nadir"><event id="4820"><start>11:50</start><duration>00:50</duration><room>Nadir</room><title>So you want a PGDay in your city</title><abstract>Big events, like PGConf EU, allow participants to interact with a large group of top professionals from all over the world and choose from a variety of presentations. However, not everybody can afford long-distance travel and several days off work. Enter PGDays—local one-day conferences where Postgres users, developers and enthusiasts can gather close to home. PGDays are vital for PostgreSQL community development and growth as they provide smaller, more intimate opportunities for people to network and to learn from each other.

What if your city does not run a PGDay, but you really want one? What does it take to start a new PGDay? Are you the right person to start it? Can you do so alone? What’s in it for you? How can you help if you don’t want to drive the whole thing? Are there less time-consuming ways to help?

What if your city does not run a PGDay, but you really want one? How can you encourage a new PGDay? Are you the right person to lead one? How can you build a great team? How can you help without assuming a leading role? What’s in it for you?

In this session, we will share our experiences as part of the operations teams that organized the first PGDay Chicago and the first PgDay San Francisco, including successes you can copy, and hurdles to watch out for.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4820/</url><track>General</track><persons><person id="752">Henrietta Dombrovskaya</person><person id="658">Teresa Giacomini</person></persons></event></room><room name="Other"><event id="4957"><start>12:40</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4957/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4790"><start>13:40</start><duration>00:50</duration><room>Meridian</room><title>Why is PostgreSQL Terrible?</title><abstract>PostgreSQL isn't actually terrible, of course. But it's not perfect, either, and it's important to be honest about what is wrong with it so we can improve it. This is a discussion, from a 10 year PostgreSQL DBA and consultant's point of view, about what is not great about PostgreSQL and what we could do to fix those problems.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4790/</url><track>General</track><persons><person id="77">Christophe Pettus</person></persons></event></room><room name="Zenit"><event id="4859"><start>13:40</start><duration>00:50</duration><room>Zenit</room><title>PostgreSQL hacker tips</title><abstract>Hacking PostgreSQL can be challenging for newcomers. This presentation covers a set of tips that have accumulated in my development environment when it comes to do something, basically anything, with the core PostgreSQL engine. From the environment used to more internal must-haves, this presentation can be helpful for newcomers, more advanced users, as well as maintainers of extensions or forks.

This is a summary of 15 years of experience hacking on PostgreSQL, being in the role of a patch author, bug fixer, reviewer or just committer (since 2018 for the last part).</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4859/</url><track>Internals</track><persons><person id="107">Michael Paquier</person></persons></event></room><room name="Nadir"><event id="4696"><start>13:40</start><duration>00:50</duration><room>Nadir</room><title>Professional PostgreSQL monitoring made easy</title><abstract>The talk firstly introduces all pertinent levels of database monitoring and then focuses on PostgreSQL and the means it provides. The meaning and importance of key metrics will be explained. As the Postgres community has already developed a lot of tools in that area, some popular common options will be highlighted together with the problems that different monitoring approaches have. To overcome some of these problems an Open Source tool from Cybertec, called pgwatch, is introduced and explained in detail to offer the simplest possibly entry into exhaustive Postgres monitoring. Also discussed will be advanced topics like anomaly detection and alerting, which can be easily implemented on top of the underlying data tier (TimescaleDB) with the help of the TICK stack or Grafana.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4696/</url><track>DBA</track><persons><person id="72">Pavlo Golub</person></persons></event></room><room name="Tycho"><event id="5156"><start>13:40</start><duration>00:50</duration><room>Tycho</room><title>USE CASES FOR MULTI-MASTER DISTRIBUTED POSTGRES</title><abstract>Today’s modern applications must be always on, always available and serve a global user base who demand fast response times. A fully multi-master distributed database architecture is critical for organizations to meet these demands. In this talk we will explore the core use cases that benefit from deploying PostgreSQL with asynchronous logical replication in a multi-region or even multi-cloud environment. Learn how issues such slow response times, maintenance or provider downtimes, data storage requirements and throughput can easily be addressed. You’ll see a live demo of how pgEdge distributed PostgreSQL can seamlessly be deployed to improve data latency and high availability as well as address data residency requirements.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/5156/</url><track>Sponsors</track><persons><person id="1032">Denis Lussier</person></persons></event></room><room name="Meridian"><event id="4913"><start>14:40</start><duration>00:50</duration><room>Meridian</room><title>Trying to be Barbie in Ken's Mojo Dojo Casa House</title><abstract>Let’s talk about what it’s like for women in tech! Taking inspiration from the most popular movie of 2023, Barbie, we unravel the challenging journey of women navigating a male-dominated tech world. In this engaging discussion, we share poignant stories that highlight both subtle and overt instances of gender bias, offering valuable insights into the persistent hurdles that women encounter. By examining these narratives, we aim to foster awareness, encourage reflection, and inspire action to create a more inclusive and equitable IT landscape for everyone. Join us for an eye-opening exploration that paves the way for meaningful change in Ken’s mojo dojo casa house.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4913/</url><track>General</track><persons><person id="667">Karen Jex</person><person id="387">Lætitia AVROT</person></persons></event></room><room name="Zenit"><event id="4720"><start>14:40</start><duration>00:50</duration><room>Zenit</room><title>Leveraging pgBadger for Effective PostgreSQL Troubleshooting</title><abstract>pgBadger stands as one of the most comprehensive and widely adopted tools for diagnosing issues and analyzing the current state of a PostgreSQL database. As an open-source utility that's platform-agnostic and easy to use, it offers users in-depth insights into a myriad of events occurring within their databases.

This includes visibility into the activities of the autovacuum daemon, such as the number of ANALYZE and VACUUM operations it calls, the tables affected, and the quantity of rows and pages deleted. In addition, pgBadger allows analysis of the distribution and sizes of temporary files, including the queries that generate them. Furthermore, it offers understanding into the types of locks within the system, the most frequent waiting queries, and the longest waiting ones, although it doesn't provide information about which query held a lock.

In this session, we will delve into select use cases of interpreting a pgBadger report and deciding on necessary interventions when encountering specific "red flags". Learn how to harness the potential of pgBadger within a focused scope, turning diagnostic data into actionable strategies to enhance the performance and stability of your PostgreSQL operations. This session aims to improve your PostgreSQL troubleshooting skills by providing a comprehensive understanding of specific use cases in your database management process.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4720/</url><track>DBA</track><persons><person id="699">Alicja Kucharczyk</person></persons></event></room><room name="Nadir"><event id="4804"><start>14:40</start><duration>00:50</duration><room>Nadir</room><title>Making pgweb rock-solid: Using the Testing Harness to ensure the quality of pgweb</title><abstract>The PostgreSQL website holds a significant role for both users and developers. Maintaining its accuracy and performance requires a dependable testing process, an accomplishment we've achieved through Google Summer of Code 2023. Our achievement involves creating an automated testing harness suite tailored for the Official PostgreSQL website.

Using the PostgreSQL Conference platform, I'd like to discuss the practical benefits of this testing harness in enhancing our website's development. Throughout this session, we will cover various aspects related to our tool.

Firstly, we'll delve into the mechanics of the Testing Harness and its role in ensuring the website's reliability. Additionally, we will explore how this tool significantly improves code quality by proactively identifying and resolving issues before deployment.

Another crucial aspect is the Testing Harness's ability to identify performance bottlenecks. Understanding its methodology for pinpointing these bottlenecks allows us to optimize the website's speed, thereby enhancing the overall user experience.

The session will also include an examination of how the Testing Harness ensures the website's content remains current and accurate, a vital factor in keeping users well-informed.

Furthermore, we will discuss how the tool fosters efficient collaboration between developers and testers, resulting in quicker issue resolution and a more streamlined development cycle.

As we wrap up the session, attendees can expect a sneak peek into upcoming enhancements for the project. They will also receive insights into opportunities for active participation and contribution.

The primary objective of this presentation is to encourage engagement and support from the PostgreSQL community. By doing so, we can extend the positive impact of this initiative to various other PostgreSQL platforms, driving progress across the ecosystem.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4804/</url><track>Developer</track><persons><person id="976">Akshat Jaimini</person></persons></event></room><room name="Other"><event id="4958"><start>15:30</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4958/</url><track>Breaks</track><persons /></event></room><room name="Meridian"><event id="4961"><start>16:00</start><duration>01:00</duration><room>Meridian</room><title>Lightning Talks</title><abstract>Lightning Talks are speeches limited to 5 minutes, covering any topic. On the European PostgreSQL conference, talking about PostgreSQL or databases is encouraged. Talking about ice cream is sometimes tolerated. 
Lightning Talks are submitted on site.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4961/</url><track>PGConf.EU</track><persons><person id="2">Dave Page</person></persons></event><event id="4960"><start>17:00</start><duration>00:30</duration><room>Meridian</room><title>So long, and thanks for all the fish</title><abstract>Closing remarks of the conference. Join us as for a light hearted review and wrap up the events of the week.</abstract><url>https://www.postgresql.eu/events/pgconfeu2023/schedule/session/4960/</url><track>PGConf.EU</track><persons><person id="2">Dave Page</person><person id="1">Magnus Hagander</person></persons></event></room></day></schedule>