<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf.EU 2022</title><start>2022-10-25</start><end>2022-10-28</end><days>4</days><baseurl>https://www.postgresql.eu/events/pgconfeu2022/schedule/</baseurl></conference><day date="2022-10-25"><room name="Other"><event id="4054"><start>08:15</start><duration>00:45</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4054/</url><track>Breaks</track><persons /></event></room><room name="Zurich 1"><event id="4050"><start>09:00</start><duration>08:00</duration><room>Zurich 1</room><title>PostgreSQL DBA Essentials</title><abstract>This course targets all people who want to get started with PostgreSQL. We cover installation, instance creation, psql, backup &amp; restore as well as minor and major version upgrades. All participants will get a dedicated training machine in AWS and only a Browser based on Chromium is required to access it. This is not a theoretical session with lots of slides, but rather a workshop where all attendees train what they learn. By the end of the day you should feel comfortable to start your journey with PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4050/</url><track>Training</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Zurich 2"><event id="4052"><start>09:00</start><duration>08:00</duration><room>Zurich 2</room><title>Introducing Advanced SQL</title><abstract>Description: SQL offers a lot more than just simple features but allows you to execute more advanced queries including recursions, grouping sets and even custom aggregation functions. During this during you will learn about some of the more advanced features available to users of PostgreSQL and you will be guided through some practical use cases.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4052/</url><track>Training</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event></room><room name="Zurich 3"><event id="4049"><start>09:00</start><duration>08:00</duration><room>Zurich 3</room><title>PostgreSQL on Linux, up and running</title><abstract>PostgreSQL database on Linux operating system has been and remains the
industry default open-source ecosystem for many years.This setup has
proven itself as a very reliable combo, and with correct planning,
appropriate configuration and proper everyday operation performs
really well.In this training, I will talk participants though the full
installation and configuration circle of the ecosystem, share best
practices and will review a real-life aspect of the ecosystem with
use cases and planning.

Starting with planning – we will review which Linux distribution to
choose, pros, and cons related to PostgreSQL. We will then consider
kernel version, filesystem choice and configuration.

In addition to taking you through the standard Linux for PostgreSQL
tuning process using systemctl parameters checklist, I will also share
several practices that our DBA, at Data Egret, use when configuring a
new server. We will take a closer look at these practices and review
why they have proven themselves as beneficial for increased
performance and data safety.

We will then move onto the planning part when we go through the
everyday operations cycle and discuss how to install
PostgreSQL-related packages, which additional packages are required or
could be helpful, how to upgrade them, and how to install and
configure PostgreSQL itself.

This final part will include review of Linux tools and utilities,
which are essential part of PostgreSQL DBA everyday life.At the end of
this workshop you will be able to make more calculated decisions in
the process of Postgres on Linux installation, its configuration,
upgrade processes and overall management of the cluster. If you are
already working with Postgres and would like a more systematical
review with real life examples this workshop is for you</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4049/</url><track>Training</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event></room><room name="Paris"><event id="4051"><start>09:00</start><duration>03:30</duration><room>Paris</room><title>Troubleshooting Postgres</title><abstract>* Introduction
* Some basics about troubleshooting
* Troubleshooting 1 (Hands-on): can't connect to Postgres
* Troubleshooting 2 (Hands-on): can't start Postgres
* Troubleshooting 3 (Hands-on): it does not replicate!
* Troubleshooting 4 (Hands-on): it is corrupted!</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4051/</url><track>Training</track><persons><person id="387">Lætitia AVROT</person></persons></event><event id="4053"><start>13:30</start><duration>03:30</duration><room>Paris</room><title>Hands-on Benchmarking</title><abstract>This training will prepare you to benchmark database systems, and how to characterize database system performance from operating system and database statistics using open source software. The topics covered include:

* Introduction to the tools for
* Infrastructure provisioning (Terraform)
* Software deployment and setup (Ansible)
* Benchmarking (DBT-2, a fair-use TPC Benchmark(TM) C implementation)
* Hand-on tasks:
* Provision infrastructure resources (VirtualBox)
* Deploying and configuring software
* Execute the benchmark to perform various tasks
* Reviewing operating system and database statistics</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4053/</url><track>Training</track><persons><person id="470">Julien Tachoires</person><person id="772">Mark Wong</person></persons></event></room></day><day date="2022-10-26"><room name="Other"><event id="4055"><start>08:30</start><duration>01:00</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4055/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4056"><start>09:30</start><duration>00:15</duration><room>Berlin 1</room><title>Welcome and Opening</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4056/</url><track>PGConf.EU</track><persons><person id="1">Magnus Hagander</person><person id="185">Vik Fearing</person></persons></event><event id="4072"><start>09:50</start><duration>00:50</duration><room>Berlin 1</room><title>Efficient Graph Analysis with SQL/PGQ</title><abstract>The upcoming SQL:2023 standard will bring as main new addition the ability to perform queries on graph data: Property Graph Query (PGQ) is a new sub-language of SQL that adds MATCH functionality for pattern matching and path-finding in "property graphs" (similar to neo4j’s Cypher query language). The CREATE PROPERTY GRAPH statement creates a property graph view on relational data, where the vertexes and edges (and their properties) are both represented by normal SQL tables.
SQL/PGQ is part of the larger GQL language, also under development by the SQL working group of ISO, in liaison with a non-profit organization called LDBC (ldbcouncil.org), which I founded and still chair, that facilitates standards development for graph data management. Through LDBC it is possible to get access to the working specs of SQL/PGQ.
The next step is implementing this new functionality in database systems. My database group at CWI is known for its pioneering work on techniques like vectorized execution, and skippable columnar storage with lightweight compression, adopted by most analytical database systems and data formats like Parquet and Arrow. CWI produced systems like MonetDB, VectorWise, and now the highly popular DuckDB, for embeddable analytics; in the process also founding numerous spin-off companies, and creating many connections with industry (e.g. Snowflake and Databricks). In the keynote I will also reflect on CWI's ongoing SQL/PGQ implementation in DuckDB, as well as on the (im)possibility for efficient graph analytics in PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4072/</url><track>General</track><persons><person id="841">Peter Boncz</person></persons></event></room><room name="Other"><event id="4057"><start>10:40</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4057/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3931"><start>11:10</start><duration>00:50</duration><room>Berlin 1</room><title>Trigger: How it Works in PostgreSQL Internals</title><abstract>Trigger is a basic feature of database systems and can be used for audit logging, automatically populating other tables, checking or enforcing complex constraints, and so on. For example, the foreign key constraint in PostgreSQL relies on the triggers internally.

This talk will explain how triggers work in PostgreSQL internals. I will cover how triggers are managed, how trigger functions are fired, how triggers are used internally, and the relationship to constraints. This will help you understand PostgreSQL's triggers in more detail.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3931/</url><track>Internals</track><persons><person id="356">Yugo Nagata</person></persons></event></room><room name="Berlin 2+3"><event id="3831"><start>11:10</start><duration>00:50</duration><room>Berlin 2+3</room><title>Changelog vs Two-dimensional time - what works better?</title><abstract>Almost nobody objects to the idea of keeping the changelog for their data. After all, we want to know who changed our data, when, and why. Managers won't care about the extra disk volume required most of the time.
However, a suggestion of implementing asserted versioning (a two-dimensional time concept) is always met with resistance. All of a sudden, the extra disk seems too much, the application performance is at risk, and the benefits are non-obvious. 

In this presentation, we will prove that these fears are mostly unfounded. In addition, we will demonstrate that there is an easy and efficient way to build as many changelogs as you would like from bitemporal tables. You can have both time travel and changelogs from one data set. You can view the data when an error occurred and after it was corrected and observe the impact of this error on reporting.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3831/</url><track>Developer</track><persons><person id="752">Henrietta Dombrovskaya</person></persons></event></room><room name="Zurich"><event id="3970"><start>11:10</start><duration>00:50</duration><room>Zurich</room><title>Building a Cross-Entreprise Workgroup to promote PostgreSQL</title><abstract>PostgreSQL is rising among big companies and some of them want to contribute actively to the project. How can we include them in the Postgres community ? How can they help ? How can we federate their efforts ?

Since 2016, The Cross-Enterprise Work Group ( called “Groupe de Travail Inter-Entreprises” - acronym PGGTIE - or “GT Inter-Entreprises” in French) is a dedidacted task force inside the PostgreSQLFr non-profit association.

The group has more then 25 members, including : Air France, Carrefour, CNES, EDF, SNCF, Societe Generale and others...
see : https://www.postgresql.fr/entreprises/english

This presentation will explain how you can build a similar group in your area and what kind of actions the group can launch toward 3 main goals :

* Share feedback, good practices, studies (performance, migration, …).
* Contribute to the sustainability &amp; improvement of PostgreSQL, in the spirit of Free and Open Source Software.
* Encourage the use and adoption, especially support of PostgreSQL by software editors
see : https://www.postgresql.fr/entreprises/20171206_open_letter_to_software_vendors

The French Enterprise Workgroup is willing to help similar initiaves in other country or at the European level. This talk is intended as a starting point for an open discussion to build more bridges between the PostgreSQL community and the corporate world.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3970/</url><track>General</track><persons><person id="585">Anthony Nowocien</person><person id="114">Damien Clochard</person><person id="384">Flavio Henrique Araque Gurgel</person></persons></event></room><room name="Berlin 1"><event id="3864"><start>12:10</start><duration>00:50</duration><room>Berlin 1</room><title>BRIN improvements and new opclasses</title><abstract>PostgreSQL supports BRIN indexes since version 9.5, allowing you to create very efficient (very small and still providing good performance) indexes. But BRIN indexes have a couple inherent limitations, making them less useful on poorly correlated data. PostgreSQL 14 includes a couple improvements and new opclasses, aiming to address some of those issues (at least partially), which is what most of this talk is about - I'll introduce the minmax-multi and bloom opclasses, show how it helps, etc. I plan to talk about multiple BRIN improvements that might get into future versions.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3864/</url><track>Developer</track><persons><person id="116">Tomas Vondra</person></persons></event></room><room name="Berlin 2+3"><event id="3832"><start>12:10</start><duration>00:50</duration><room>Berlin 2+3</room><title>PostgreSQL at GitLab.com</title><abstract>Welcome to the architecture of GitLab. In our talk, we will present the topology of our database ecosystem with PostgreSQL and how we manage to support over 60k TPS on the master and &gt;1M TPS in total. Our goals are to maintain high availability of the database and still implement new features.

If you have seen the previous talk at PGConf.DE 2022 [1], you might be interested to learn about the outcome of the in flight  decomposition project shown there.

[1]https://www.postgresql.eu/events/pgconfde2022/schedule/session/3759-postgresql-at-gitlabcom/</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3832/</url><track>DBA</track><persons><person id="459">Alexander Sosna</person><person id="690">Jose Finotto</person></persons></event></room><room name="Zurich"><event id="3820"><start>12:10</start><duration>00:50</duration><room>Zurich</room><title>Unlocking Open Data using an Open Source Database</title><abstract>Could we use our favourite open source relational database to unlock the potential of open data?

There is a vast array of open data made available by public sector bodies, charities and commercial organisations. Open data sets span domains such as the environment, the economy, health etc. and are of immense potential value. There are, however, significant challenges when it comes to making use of them. 

The data sets are published by diverse bodies, each with their own practices, and are often presented in a semi-structured or human-readable rather than machine-readable format. This means that painstaking manual intervention is often required to make sense of the data, and to load it into a system such as a relational database for analysis.

This talk will introduce you to the PhD research project that I recently started at the University of Manchester, called "Unlocking Open Data through Wrapper Generation". The aim of the research project is to support the generation of wrappers for open data sources. It builds on existing work by my supervisor, Professor Norman Paton, and others.

I would love the project to lead, eventually, to a PostgreSQL extension that automates the creation and population of a set of tables from a given open data set.

I will also describe some of the techniques that I have been learning, such as using genetic algorithms to solve this type of problem.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3820/</url><track>General</track><persons><person id="667">Karen Jex</person></persons></event></room><room name="Madrid"><event id="4074"><start>12:10</start><duration>00:50</duration><room>Madrid</room><title>Timescale Cloud: Scale further, build faster, and stay under budget</title><abstract>PostgreSQL is the most advanced relational open-source database today, able to handle workloads big and small. Installing the TimescaleDB extension adds time-series superpowers that help your application scale with the features not found elsewhere. Still, managing the infrastructure and operational complexity of an always-on, highly available database is not for the faint of heart. This is why we developed Timescale Cloud!

In this session we’ll review the unique nature of time-series data, the various ways your application is likely to be storing it already, and how TimescaleDB can help improve the developer experience in PostgreSQL. Then we’ll dive into Timescale Cloud, the TimescaleDB as a service hosting solution that helps you scale further, build better applications, and stay under budget.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4074/</url><track>Sponsors</track><persons><person id="766">Kirk Roybal</person></persons></event></room><room name="Other"><event id="4058"><start>13:00</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4058/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3889"><start>14:00</start><duration>00:50</duration><room>Berlin 1</room><title>GSoC 2022 - Overview</title><abstract>The PostgreSQL project has been involved with GSoC for many years and 2022 is our largest year with 12 contributors!  This talk will be an overview of all of the GSoC projects, from the work on porting pgBackrest to Windows to the Performance Farm and the efforts to improve the regression tests in PostgreSQL to cover more code.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3889/</url><track>General</track><persons><person id="659">Ilaria Battiston</person><person id="84">Stephen Frost</person></persons></event></room><room name="Berlin 2+3"><event id="3936"><start>14:00</start><duration>00:50</duration><room>Berlin 2+3</room><title>Performance tips you have never seen before</title><abstract>Everybody knows that indexes are good for performance. We all agree that massive joining is maybe not ideal to achieve maximum speed.
But what about some other stuff you might have never heard of? There is a lot more one can use to achieve good performance or to at least squeeze the last 10% out of the system in an quick and efficient way. 
Let us tour through some of the more secret wisdom ...</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3936/</url><track>DBA</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event></room><room name="Zurich"><event id="3875"><start>14:00</start><duration>00:50</duration><room>Zurich</room><title>Understanding Postgres HOT Updates plus using Prometheus and Grafana to track and tune issues</title><abstract>At Adyen we have invested heavily and built upon the Postgres database engine, generally this has worked very well for us.

Occasionally Postgres Write Amplification can be technical challenge at Adyen, fortunately this does not happen often, unfortunately when it does happen it is around critical, high volume workloads.

So we have been working on using Prometheus and Grafana to track and tune issues around Write Amplification, which can normally be relatively easily addressed by tuning FillFactor and/or tweaking application design.

As well as the tooling (Prometheus and Grafana based dashboards), we have developed "awareness training" for our Developer teams, to ensure we proactively tackle any Write Amplification issues.

This presentation take about 45 mins (plus 5-10 mins for Q&amp;A) and is in two 20 minute parts 
* We start with technical background, covering why Postgres Write Amplification can happen, the sorts of workloads which are likely to hit this sort of issue and how we can sometimes mitigate this by tuning FillFactor and/or tweaking application design.
* Next we talk about monitoring, specifically how to proactively monitor for this, starting with the Postgres standard metrics pg_stat_user_tables and then using the Prometheus Postgres exporter and Grafana to track key long term trends

The aim of the talk is to share best practice and lessons learnt for managing Postgres from Adyen. We want to share this with the broader Postgres community, as we think our DBAs will find this useful and also we're looking for feedback and further possible enhancements.

This a joint presentation
* derk.vanveen@adyen.com - covers the technical background
* dave.pitts@adyen.com - covers the monitoring via Prometheus and Grafana

Finally in terms of coverage, this talk relates to 5 of the topics

* PostgreSQL internals hacking &lt;&lt;  The 1st half of the presentation dives into Postgres internals
* Tools and utilities &lt;&lt; The 2nd half of the presentation is about using open-source monitoring tools (Prometheus and Grafana) to proactively and iteratively monitor and tune Postgres.  
* Tuning and performance improvements &lt;&lt; better tuning FillFactor and awareness of how HOT Updates work, has been a major win for us in 2022, we are pushing Postgres to it limits and beyond!
* Administering large scale PostgreSQL installations &lt;&lt; tables with a billions of UPDATEs per day?
* Case studies and/or success stories of PostgreSQL deployments (or interesting failures) &lt;&lt; vacuum was really struggling to keep up, we have massively cut the vacuum costs through tuning fillfactor and/or tweaking application design</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3875/</url><track>DBA</track><persons><person id="797">Dave Pitts</person><person id="859">Derk van Veen</person></persons></event></room><room name="Madrid"><event id="4079"><start>14:00</start><duration>00:50</duration><room>Madrid</room><title>DataGrip: PostgreSQL IDE from JetBrains</title><abstract>DataGrip provides various benefits to PostgreSQL developers, such as saving time by automating routine tasks, locating and fixing errors, taking advantage of intelligent support from the IDE, and increasing overall productivity.
In this talk, we’ll take a closer look at some of the excellent PostgreSQL-related features inside DataGrip.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4079/</url><track>Sponsors</track><persons><person id="848">Maxim Sobolevsky</person></persons></event></room><room name="Berlin 1"><event id="3877"><start>15:00</start><duration>00:50</duration><room>Berlin 1</room><title>Postgres community panel: Upgradability</title><abstract>An open discussion with Postgres community members around the topic of upgradability.

We will be looking at the PostgreSQL development cycle (backward compatibility, addition of new features) and why it makes sense to upgrade Postgres regularly.
Also, why minor release upgrades just work, and what to test when performing a major version upgrade.
Finally we will examine what works great or better than other database systems, but also some pain points and what could be improved in future releases.

Key points to take away:

1. The PostgreSQL development cycle
2. Why you should upgrade regularly
3. Minor version upgrades
4. Major version upgrades and what to test
5. What works great or better than other DBs
6. Pain points and suggested improvements</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3877/</url><track>General</track><persons><person id="30">Andreas Scherbaum</person><person id="323">Jimmy Angelakos</person><person id="667">Karen Jex</person><person id="542">Nikolay Samokhvalov</person></persons></event></room><room name="Berlin 2+3"><event id="3916"><start>15:00</start><duration>00:50</duration><room>Berlin 2+3</room><title>Administering large scale PostgreSQL installations</title><abstract>How the Danish Ministry of Education handles 400 clusters divided into 100 products. Some products designated as critical infrastructure in Denmark. 

The presentation is about the interaction between the postgres clusters, the tools that surround the databases, the developers, the operation and the Product Owners. 

Handling the enterprise needs in a government - on a large scale. Automated with Ansible.

It is not a technical presentation but a concept and a working proof of enterprise ready Postgres and Postgres tooling supporting the Danish education landscape. Which meets the requirement of user and government and legal stuff like GDPR.

Take a way: The presentation will show how a largescale enterprise setup in the Danish government are  put together and handled safely  with few employees.  The presentation are about inspiring other – especially governments - to use Postgres in a larger scale.

The ministry  uses a wide range of postgres tools

- postgres
- pgbouncer
- pgAdmin
- pgBadger
- barman
- patroni 
- postgrest

and some self-developed concepts for

- recovery test - perform periodic and continuous restore tests.

Everything configured and automated with ansible.

Users of the enterprise setup are

- the education sector in Denmark 
- primary school pupils +1 mio sso logins per day
- government finance
- statistics
- developers 
- operation</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3916/</url><track>DBA</track><persons><person id="773">Jan Birk</person></persons></event></room><room name="Zurich"><event id="3902"><start>15:00</start><duration>00:50</duration><room>Zurich</room><title>Understanding the impact of Materialized CTEs</title><abstract>This session will cover :
1. What are CTEs and when should they be used?
2. What does it mean by 'Materialize'?
3. What are 'Materialized CTEs' and when should/shouldn't be used? 
4. What is the performance impact of using Materialized CTEs?</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3902/</url><track>Developer</track><persons><person id="804">Divya Sharma</person></persons></event></room><room name="Madrid"><event id="4073"><start>15:00</start><duration>00:50</duration><room>Madrid</room><title>CYPEX: Building applications for PostgreSQL quickly</title><abstract>Ever dreamed of building PostgreSQL quickly? CYPEX is the ideal solution for you. CYPEX allows you to create beautiful applications more quickly by cutting out all unnecessary steps which make traditional software development so time consuming, slow and unreliable. Build better web apps with smaller teams more quickly.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4073/</url><track>Sponsors</track><persons><person id="842">Hans-Jürgen Schönig</person></persons></event></room><room name="Other"><event id="4059"><start>15:50</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4059/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3985"><start>16:20</start><duration>00:50</duration><room>Berlin 1</room><title>No Array of Sunshine: an Introduction to Data Types from a Data Quality Perspective</title><abstract>While speed and storage size are often a consideration in choosing a data type, there are other data quality issues to keep in mind as well. From actual arrays and JSON, to issues with numeric, boolean, and even text, we'll explore some things to keep in mind when collecting data and building a database.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3985/</url><track>Developer</track><persons><person id="588">Renee Huinker</person></persons></event></room><room name="Berlin 2+3"><event id="4047"><start>16:20</start><duration>00:50</duration><room>Berlin 2+3</room><title>Cloud friendly COPY</title><abstract>Current COPY command in PostgreSQL is hard-coded to 3 formats (native, CSV, binary) and two transports (local file and stdin/stdout).

This is very limiting, especially in cloud environments where new formats and transport protocols are still developed regularly.

In this talk I will demonstrate how we can open up development of COPY via a plugin system similar to what we use in many places - index access methods, table access methods, logical decoding plugins, etc</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4047/</url><track>Internals</track><persons><person id="755">Hannu Krosing</person></persons></event></room><room name="Zurich"><event id="3861"><start>16:20</start><duration>00:50</duration><room>Zurich</room><title>Party tricks for PostgreSQL: perf, ftrace and bpftrace</title><abstract>Dynamic instrumentation in databases world often looks as weird as hacky, but
nevertheless it's definitely worth our attention. There are many discussion in
hackers evolving around something, what is beneficial to track in logs or
informational views, but has too narrow use case to justify any subsequent
performance overhead. Is it possible to approach such problems using
tracepoints? Most of the time the answer is yes.

In this talk we will discuss how to easily extract various information (think
about some useful metric, or just a funny trick for a geek party) from your
Postgres, about pros and cons of different methods, and how dynamic
instrumentation can help everyone, from dba to project contributors, to get
understanding of what's going on when normal monitoring approaches do not work.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3861/</url><track>DBA</track><persons><person id="319">Dmitry Dolgov</person></persons></event></room><room name="Madrid"><event id="4081"><start>16:20</start><duration>00:50</duration><room>Madrid</room><title>Distributed Postgres: How to build a multi-tenant SaaS app with Citus</title><abstract>In this demo-rich session, you’ll learn how to build a multi-tenant SaaS application on Postgres with Citus. The demo will start small on a single Postgres server—and then you’ll see how you can scale your SaaS application globally by distributing Postgres. By using Citus, you can distribute tables across a cluster of Postgres servers in the Azure cloud and scale out as needed, rebalancing shards along the way with zero downtime. The Citus distributed query engine will route and parallelize your queries transparently to distributed tables across the Citus database cluster—giving your SaaS app the ability to grow along with the snappy performance your customers expect.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4081/</url><track>Sponsors</track><persons><person id="850">Charles Feddersen</person></persons></event></room><room name="Berlin 1"><event id="3796"><start>17:20</start><duration>00:50</duration><room>Berlin 1</room><title>Directing PostgreSQL to Performance: PostgreSQL Index improvements over time</title><abstract>Starting with PostgreSQL 11, there have been multiple advances in the BTree index method - the default index method for PostgreSQL. However, this is not unique to BTree: most index methods have seen significant performance improvements, which have resulted in significant storage savings and improved performance over the past 5 major releases.

This talk will show notable improvements in PostgreSQL's included index methods since PG11, including deduplication and optimistic pruning of dead index tuples. After that, it will go through the improvements currently being worked on for PostgreSQL 16, and finally, it will discuss what the future might bring for the index methods included in PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3796/</url><track>Internals</track><persons><person id="736">Matthias van de Meent</person></persons></event></room><room name="Berlin 2+3"><event id="3962"><start>17:20</start><duration>00:50</duration><room>Berlin 2+3</room><title>Inside the machine room of a world map: PostgreSQL and OpenStreetMap</title><abstract>The OpenStreetMap (OSM) project is a community project to collect map data
of the whole world. Started in 2007 as a small mapping project in the UK,
it has become one of the most important providers of geodata. Its database
has grown to almost 9 billion objects. OSM has very early on chosen PostgreSQL
for the core database of the project and the combination of PostgreSQL and
PostGIS turned out to be a perfect match for OSM data users.
Nowadays it is hard to avoid PostgreSQL when working with OSM data.

This is the story of how OSM was able to grow into a huge global geo database
with the help of the ever maturing PostgreSQL project. The talk will explore
three core pieces of software for OSM: the main OSM database, the database
loader osm2pgsql and the geocoder Nominatim. We look into how these projects
make use of PostgreSQL and how their usage patterns have changed over time.
There will be anecdotes of moments where PostgreSQL was at its best and other
moments where we found out about its limits.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3962/</url><track>Developer</track><persons><person id="822">Sarah Hoffmann</person></persons></event></room><room name="Zurich"><event id="4027"><start>17:20</start><duration>00:50</duration><room>Zurich</room><title>Database branching to scale and speed up application development and performance optimization</title><abstract>Over the last decade, clouds, containers, modern CI tools, and Kubernetes drastically boosted development and operational tasks.

However, if you deal with heavily-loaded multi-terabyte databases, there is still one major roadblock on your DevOps path: it is not easy to develop and test because getting a database copy takes hours, if not days, and it is may cost a lot.

To solve this, my team and I developed an open-source tool called Database Lab Engine (DLE, https://github.com/postgres-ai/database-lab-engine) that addresses this very issue. With copy-on-write capabilities provided by filesystem or storage, and with a properly tuned Postgres server, it becomes possible to have a 10 TiB database cloned in less than 10 seconds passed since the request to clone till readiness to serve queries ("thin cloning"). Moreover, dozens of such clones can run on a single machine, with just 10-15 TiB disk space, supporting dozens of experiments conducted simultaneously. Due to the proper tuning, DLE also ensures the Postgres planner works as close to production as possible, choosing the same plans and allowing SQL optimization to be performed in such an environment.

We will discuss how this new approach and the corresponding tooling improve and speed up all the development processes related to Postgres databases in fast-growing and big teams, covering the following:

- database branches for each development branch in Git – a low-cost  infrastructure for multiple non-production environments;
- testing on thin clones in CI, including automated verification of database migrations and massive data changes,
- "serverless EXPLAIN": a Slack bot / artificial DBA Joe (https://gitlab.com/postgres-ai/joe) helping developers to optimize SQL queries using thin clones of multi-terabyte databases without providing direct access to the data,
- building the knowledge base around micro-experiments for SQL optimization based on thin clones, improving interoperability between Infrastructure and Development teams.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4027/</url><track>DBA</track><persons><person id="542">Nikolay Samokhvalov</person></persons></event></room><room name="Madrid"><event id="4089"><start>17:20</start><duration>00:50</duration><room>Madrid</room><title>EDB Postgres Distributed - Evolution of Replication and High Availability</title><abstract>Explore the evolution of Postgres replication over time due to the requirements of the business and how these changes can benefit your organization through the use of EDB Postgres Distributed in your most demanding applications. We will discuss the need for "always on", provide an overview of Postgres Distributed as well as discuss fit and a couple of use cases tossed in for good measure.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4089/</url><track>Sponsors</track><persons><person id="858">Stacy Scoggins</person></persons></event></room><room name="Other"><event id="4090"><start>19:00</start><duration>04:59</duration><room>Other</room><title>PostgreSQL Europe Reception</title><abstract>As with previous PGConf.EU events, the 2022 conference in Berlin will have a community party. The party will take place on Wednesday evening and night, after the conference, from 7:00PM.

The social event will be at [Alte Münze](https://alte-muenze-berlin.de/space/alte-muenze-haus-2-produktionshallen/) which can be found on [Google Maps](https://goo.gl/maps/3t4HqhqrqqypDdrU7) or [OpenStreetMap](https://www.openstreetmap.org/way/24271874).

PostgreSQL Europe will provide a limited amount of finger food and free drinks, (additional drinks may be offered by our sponsors), and of course there will also be the option to buy your own at the bar.

Remember to bring your conference badge!</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4090/</url><track>PGConf.EU</track><persons /></event></room></day><day date="2022-10-27"><room name="Other"><event id="4060"><start>09:00</start><duration>00:30</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4060/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4015"><start>09:30</start><duration>00:50</duration><room>Berlin 1</room><title>A comparison of PostgreSQL backup tools</title><abstract>What is the best way to backup a PostgreSQL cluster?  

The answer is, there is no-one perfect backup tool.  However, unlike other database engines, a myriad of tools to choose from.

I'd like to do a comparison of the various backup tools from ease-of-use, what features each one has and how you can deploy them in various different environments.

So, the comparison would include BARMAN, WAL-G, pgbackrest, pg_basebackup and pg_dump.  It would look at the merits and problems, to give a DBA or management team on the best options for their PG cluster.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4015/</url><track>DBA</track><persons><person id="838">Matt Pearson</person></persons></event></room><room name="Berlin 2+3"><event id="4024"><start>09:30</start><duration>00:50</duration><room>Berlin 2+3</room><title>The Future of Observability in Postgres</title><abstract>Postgres provides a plethora of performance metrics useful for monitoring tools available through SQL. However a number of difficulties make deploying these tools a very manual process requiring a lot of custom tooling. Each site needs to arrange to deploy and configure agents and define the metrics, alerts and dashboards they need.

I have a new vision for the future of observability in Postgres where it integrates cleanly and automatically with widely used tools. Ultimately starting up a Postgres instance should trigger service discovery and metrics collection and enabling alerts and dashboards should be a simple matter of importing standard preconfigured packages into Prometheus, Grafana or other tools where they would "just work" for basic database monitoring with no customization needed.

This will require changes in core Postgres and contrib modules to adopt open standards for service discovery and metrics exporting.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4024/</url><track>Internals</track><persons><person id="24">Gregory Stark</person></persons></event></room><room name="Zurich"><event id="3906"><start>09:30</start><duration>00:50</duration><room>Zurich</room><title>Migration validation made easy with Ora2Pg</title><abstract>Ora2Pg has been the first Open Source migration project for performing Migration Assessments, Schema and Data Migrations from Oracle to PostgreSQL. Today, there exists a good number of solutions to perform Oracle to PostgreSQL migrations. However, the major risk is involved when there exists no robust validation technique. One of the major reasons for a failed migration is the validation.

Validation not only includes objects like tables, constraints, indexes, triggers, sequences, views, etc. but also the data. In this talk, i am going to discuss about how the validation can be performed and some of the newly committed features of Ora2Pg that is going to support such a validation.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3906/</url><track>Developer</track><persons><person id="94">Gilles Darold</person></persons></event></room><room name="Madrid"><event id="4084"><start>09:30</start><duration>00:50</duration><room>Madrid</room><title>Put PostgreSQL at the center of your (meta)data universe!</title><abstract>How do we answer questions about GDPR, data lineage, impact assessment, security scans with a SQL query? If all data assets are in PostgreSQL, well... problem solved! We can hit the metadata views and extract what's needed. But what happens when data is scattered across several platforms using different technologies?

This talk is about the hidden treasure stored in the metadata: starting by defining use cases, we'll then focus on how we can design a system, based on PostgreSQL and some graph theory, that collects, merges and exposes metadata coming from a variety of tools.

If you want to programmatically keep control over your ever increasing data assets using a familiar technology and SQL, this session is for you!</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4084/</url><track>Sponsors</track><persons><person id="853">Francesco Tisiot</person></persons></event></room><room name="Berlin 1"><event id="4014"><start>10:30</start><duration>00:50</duration><room>Berlin 1</room><title>Takeaways from the First 6 Months of Hacking on Postgres</title><abstract>Postgres is growing – in usage, in popularity and in the size of the community. And as usage grows, more and more people are wanting to contribute to PostgreSQL as well. However, getting started in Postgres development is more than simply coding a feature or fixing a bug. It’s understanding the codebase, the community, the processes. 

I am a Postgres newbie and a developer in the early stages of his career who has only been working with Postgres for 6 months. In this talk, I will share my first experiences with Postgres. What were the difficulties for me? What made it easier to hack Postgres? Some tips for getting started and what we can do as a community to improve the process. Finally, we will end with how I ended up with my first contribution to logical replication. If you’re a new developer wanting to contribute to Postgres or want to hear how my journey is going as a newcomer, please join me.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4014/</url><track>Internals</track><persons><person id="808">Melih Mutlu</person></persons></event></room><room name="Berlin 2+3"><event id="3897"><start>10:30</start><duration>00:50</duration><room>Berlin 2+3</room><title>PostgreSQL 15 and beyond</title><abstract>In this presentation, I will start with how PostgreSQL has evolved over years regarding large Enterprises. Then, I'll speak about (a) Key features in PostgreSQL-15 in the areas like SQL (a new SQL statement MERGE), JSON, backups, compression, Logical Replication, security, etc., (b) Performance improvements like sorting data when sorting over larger data sets, postgres_fdw can now enable transactions to be committed in parallel, and other miscellaneous other areas in PostgreSQL-15, and (c) Key features being discussed in the community for PostgreSQL-16 and beyond.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3897/</url><track>General</track><persons><person id="159">Amit Kapila</person></persons></event></room><room name="Zurich"><event id="3811"><start>10:30</start><duration>00:50</duration><room>Zurich</room><title>How to handle 1000 application users</title><abstract>During application design, people are often uncertain how to manage database connections to get the best performance.
The desire to prevent performance bottlenecks often leads to detrimental design decisions.
This talk presents typical configuration errors, shows how to dimension a connection pool correctly and tells you what you need to get a high throughput from your database.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3811/</url><track>DBA</track><persons><person id="191">Laurenz Albe</person></persons></event></room><room name="Madrid"><event id="4077"><start>10:30</start><duration>00:50</duration><room>Madrid</room><title>plProfiler: where is my PL/pgSQL code spending time?</title><abstract>The plprofiler is an extension for the PostgreSQL database system to
create performance profiles of PL/pgSQL functions, stored procedures and
triggers. The included external Python class and command line utility
can be used to easily control the extension to collect, save and manage
performance datasets and create HTML reports from them.

This talk is aimed at Developers and DBAs who deal with complex PL/pgSQL
code and need to diagnose performance problems.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4077/</url><track>Sponsors</track><persons><person id="846">Jan Wieck</person></persons></event></room><room name="Other"><event id="4061"><start>11:20</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4061/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3935"><start>11:50</start><duration>00:50</duration><room>Berlin 1</room><title>PostgreSQL Native Packaging</title><abstract>PostgreSQL provides native packaging repositories for various platforms. Debian, Ubuntu, RHEL, Rocky, Fedora, and SLES are the supported distributions. Other than the OS-provided packages, these repositories cover all supported PostgreSQL major versions. The repositories also provide extension packages, and others.

However, we also have challenges. 

In this talk, we will cover these topics:

* Pros and cons of using OS packages vs PGDG packages

* How packages are built in the .deb and .rpm worlds

* How upstream can help produce good packages

* Upstream should wrap the releases after bugs are fixed

* We like comprehensive test suites that are not flaky

* How you can get your favorite extension packaged</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3935/</url><track>General</track><persons><person id="82">Christoph Berg</person><person id="49">Devrim Gündüz</person></persons></event></room><room name="Berlin 2+3"><event id="3934"><start>11:50</start><duration>00:50</duration><room>Berlin 2+3</room><title>Neon, cloud-native storage backend for PostgreSQL</title><abstract>Neon is a new storage backend for PostgreSQL. It separates storage from compute and leverages cheap cloud storage. It enables features like timetravel query, branching, and running multiple read-only nodes against the same shared storage.

Neon is a work in progress. In this presentation, I will walk through the architecture and discuss the characteristics and the new capabilities that it enables, and the current status.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3934/</url><track>Internals</track><persons><person id="11">Heikki Linnakangas</person></persons></event></room><room name="Zurich"><event id="3987"><start>11:50</start><duration>00:50</duration><room>Zurich</room><title>How do you put an elephant in a container in 3 steps?</title><abstract>Have you ever asked yourself what was all this fuss about Postgres running on
containers with Kubernetes? Did you try it several years ago and your scars are
still hurting? Are you convinced it's a good idea for your company but you can't
find out how to proceed? Would you like to know more about the new open source
project "CloudNativePG" and its young community? This conf talk should
answer your questions!

Come and see why and how you can make Postgres happily run in containers
alongside Kubernetes and, most importantly, if that's a good move for your
project and context.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3987/</url><track>DBA</track><persons><person id="387">Lætitia AVROT</person></persons></event></room><room name="Madrid"><event id="4087"><start>11:50</start><duration>00:50</duration><room>Madrid</room><title>PostgreSQL migration made easy</title><abstract>Moving from Oracle to PostgreSQL can save costs and help to be on a more sustainable track. Our toolchain will help people to get rid of Oracle and migrate in the most efficient way possible. The CYBERTEC migrator can help to migrate things such as data structures, indexes, constraints, data, functions, partitions and a lot more.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4087/</url><track>Sponsors</track><persons><person id="856">Patrick Thomschitz</person></persons></event></room><room name="Other"><event id="4062"><start>12:40</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4062/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3789"><start>13:40</start><duration>00:50</duration><room>Berlin 1</room><title>MVCC Unmasked</title><abstract>Multi-Version Concurrency Control (MVCC) allows Postgres to offer high concurrency even during significant database read/write activity. MVCC specifically offers behavior where "readers never block writers, and writers never block readers". This talk explains how MVCC is implemented in Postgres and highlights optimizations which minimize the downsides of MVCC.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3789/</url><track>DBA</track><persons><person id="44">Bruce Momjian</person></persons></event></room><room name="Berlin 2+3"><event id="3822"><start>13:40</start><duration>00:50</duration><room>Berlin 2+3</room><title>Everything You Wanted to Know About Databases as a Developer but Were Too Afraid to Ask Your DBA</title><abstract>The database forms the backbone of many applications so it’s essential, as a developer, to know how to interact with the database in an optimal way. Unfortunately, database administration doesn’t necessarily form part of a developer’s training so you may be a great developer, with a wealth of experience and talent in designing and coding applications, yet have little or no database knowledge. There’s probably a database expert in your organisation in the form of a DBA, but this expert is probably too grumpy busy to take the time to explain to you how databases work.

This presentation aims to provide you with the minimum that you need to know about databases in general, and about Postgres in particular. You will come away with a “database cheat sheet” of the different terminology and concepts that will make you sound like an instant database expert.

You’ll learn to explain with confidence the difference between a database, a database cluster and an instance, how database objects can be partitioned and why you might want to do that, how schemas and tablespaces can be used to group database objects, the different constraints that can be used to enforce the integrity of your data, the difference between a view and a materialized view and much more.

If you want to (a) understand more about what a database is and how it works, (b) make your database applications better and (c) impress your DBA (and your manager), then this presentation is for you.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3822/</url><track>Developer</track><persons><person id="667">Karen Jex</person></persons></event></room><room name="Zurich"><event id="4045"><start>13:40</start><duration>00:50</duration><room>Zurich</room><title>The pg_catalog was always there, use it!</title><abstract>PostgreSQL users want to know how the system is performing. This is valid for DBAs, system administrators, and developers. They want to know if the system needs some improvements, but also to generate the occasional report requested by managers. Standard monitoring tools will monitor the CPU, RAM and I/O consumption, but they won't be able to tell you if indexes are being used, if tables are bloated, what is the lag of replication, what are the status of sessions connected, and many other interesting and useful things from PostgreSQL.

This talk is intended to review the possibilities offered by the PostgreSQL catalog. Plenty of information is available there but it is unknown to many users, and therefore unused. We will see how to exploit the catalog, how to send the information to other monitoring tools, and how the tables in pg_catalog are fundamentally interconnected to other topics such as performance, replication, MVCC, security, the universe and everything.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4045/</url><track>General</track><persons><person id="541">Boriss Mejias</person></persons></event></room><room name="Madrid"><event id="4088"><start>13:40</start><duration>00:50</duration><room>Madrid</room><title>Streamlining Database Provisioning with DevOps</title><abstract>DevOps has become a wildly popular method for building, deploying, updating and maintaining software, especially for cloud applications. Properly applied, DevOps can speed up software release cycles, decrease error and automate routine aspects of software development. Along with standard DevOps implementation, organizations can also employ DevOps to automatically provision and deploy their databases. BigAnimal, EDB’s fully managed cloud Postgres database available on Azure and AWS, has been designed to integrate into DevOps pipelines.

Join Doug Ortiz to learn about how DevOps can be leveraged for provisioning databases, and what else DevOps allows you to accomplish. Some topics we will discuss in this session are:
- What DevOps is and why it is so popular for cloud applications
- Benefits to including databases in your DevOps pipelines
- Common pitfalls and how to proactively address them
- A demonstration deploying BigAnimal’s Database-as-a-Service via DevOps</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4088/</url><track>Sponsors</track><persons><person id="857">Doug Ortiz</person></persons></event></room><room name="Berlin 1"><event id="3882"><start>14:40</start><duration>00:50</duration><room>Berlin 1</room><title>On the Road to TDE</title><abstract>An often requested capability is transparent data encryption, where the bulk of the data is encrypted on the filesystem by the database engine. While this addresses only a limited number of attack vectors, it’s often called for by certain standard organizations.

An effort is ongoing in the PostgreSQL community to provide a TDE solution. This necessarily involves a level of key management in the database server along with the ability to actually encrypt the data pages and write ahead log as they’re being written out.

This talk will cover the current state of the TDE work for PostgreSQL- what’s been accomplished thus far and what the next steps are.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3882/</url><track>Internals</track><persons><person id="84">Stephen Frost</person></persons></event></room><room name="Berlin 2+3"><event id="3990"><start>14:40</start><duration>00:50</duration><room>Berlin 2+3</room><title>Implementing failover of logical replication slots in Patroni</title><abstract>Logical decoding and replication slots being introduced in PostgreSQL 9.4 (released in 2014) created a solid foundation for implementing built-in core logical replication in version 10 (released in 2017). Unfortunately, there are a few limitations that make logical replication not very useful in real-world scenarios. Logical decoding currently isn’t supported on standby and PostgreSQL allows creating logical replication slots only on the primary. Or in other words, logical slots are lost on failover/switchover.

There have been many attempts to address the problem by Postgres hackers, and most of them without too much success. Although, there is one little function introduced in PostgreSQL 11 that made it possible to implement failover of logical replication slots externally.

In this talk I will tell a story of how [Patroni](https://github.com/zalando/patroni) solves the problem of logical replication slots failover without using invasive 3rd party extensions, dig down into some of Postgres internals in order to prove why this approach is safe, and finally, we will discuss limitations and potential downsides of this solution.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3990/</url><track>DBA</track><persons><person id="359">Alexander Kukushkin</person></persons></event></room><room name="Zurich"><event id="3860"><start>14:40</start><duration>00:50</duration><room>Zurich</room><title>Google AlloyDB vs. Amazon Aurora vs. Azure Hyperscale: comparison of databases build for clouds</title><abstract>A comparison of fully managed PostgreSQL-compatible databases services from Google, Microsoft and Amazon for enterprise database workloads. Regarding the Flexera report, 94% of enterprises use the cloud, and in this session, we will cover the main benefits of using cloud services in comparison with "vanilla" PostgreSQL.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3860/</url><track>Developer</track><persons><person id="604">Taras Kloba</person></persons></event></room><room name="Madrid"><event id="4080"><start>14:40</start><duration>00:50</duration><room>Madrid</room><title>Privacy By Design with PostgreSQL Anonymizer</title><abstract>4 years after the GDPR publication, implementing the "privacy by design" principle remains a headache...

How can we integrate data protection rules from the early development stages of an application?

With the PostgreSQL Anonymizer extension, application developers and database administrators can write masking rules directly inside the data model by using SQL statements.

These masking rules can be applied using different strategies: static masking, dynamic masking, anonymous dump or generalization...

This presentation is based on a practical example and goes through multiple scenarios by giving solutions for every use case.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4080/</url><track>Sponsors</track><persons><person id="849">Damien Clochard</person></persons></event></room><room name="Berlin 1"><event id="3876"><start>15:40</start><duration>00:50</duration><room>Berlin 1</room><title>How PostgreSQL Resists Automated Management (And How To Fix This)</title><abstract>PostgreSQL was designed in a time when software was primarily managed and administered by humans, often humans whose whole job was to keep the computer working. Today, software management is often fully automated. PostgreSQL isn't always well suited to this environment.

In this talk, I'll discuss some of the ways in which external software would like to be able to manage PostgreSQL, why it's hard, and how we might be able to make it better in the future.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3876/</url><track>Internals</track><persons><person id="264">Robert Haas</person></persons></event></room><room name="Berlin 2+3"><event id="4033"><start>15:40</start><duration>00:50</duration><room>Berlin 2+3</room><title>What happens when stack overflow doesn’t have an answer? comparing ST_within &amp; H3 for spatial queries</title><abstract>### Who we are &amp; What we do

Blue Sky Analytics is a climate tech startup, building **Bloomberg for green data** using AI, satellite data &amp; cloud-native technologies. We deal with a lot of large geospatial datasets and run many spatial-temporal queries over them; the spatial join is one of the bottlenecks we encountered with some queries simply failing to resolve.

### Our use case

There are some very interesting use cases that we have to build for, eg “_if you want to know the number of fires in a particular area during a particular time period aggregated over a sub-area and a temporal bucket_” = “**All US biomass emissions by state, on a monthly basis over last 5 years**”. For this, we have to make complex Spatio-temporal joins to visualize fires across the globe over several years and attribute them to various shapes to build country &amp; province-level estimates on a table that updates daily.

### Context

We use timescale &amp; PostGIS to handle temporal and spatial components respectively. While this setup works well for most kinds of queries, but it’s not the best solution out there as we scale. And that’s where the Uber’s H3 comes in!

One very common query we have is “_**point in polygon**_”, while the `ST_Within` function works but it’s very slow when there are a millions of points &amp; the shapes are complex.

### Problem

`ST_Within` is awesome but too slow to scale. It took `ST_Within` 1 minute to sort a million points into 28 polygons ( just one country over 1 month). We have 10s of million points &amp; 100s of shapes. Fine-tuning the database by adding more `work_mem` and increasing CPU cores did help but barely. There’s only so much brute force you can apply; we knew we had to optimise at the lowest level.

One of our datasets is **fire emissions** (global, since the year 2012 &amp; roughly 21 million points/year). We need to know where on earth these points lie, more precisely which admin boundaries to attribute to, from country to province level; The simplest way to bucket them spatially was to check each point against each shape using `ST_Within` which turned out to be impossibly slow. And even if we pre-computed this, it was still impossible to build that pre-compute.

### Solution

H3 indexing &amp; pre-computed aggregations. With H3 indexing, we pre-computed the H3 value for each point and poly-filled all the shape polygons with the `h3_polyfill`. Then we got two arrays (tables), which could be joined with just an equality operator (=) and it was almost 100X faster than using `ST_Within`. The only limit we hit was the amount of data we were working with, which ultimately didn’t fit in the memory and the disk read-writes slowed down the query in real-time analysis.

### Challenges

Integrating the H3 extension into our setup was a bit challenging &amp; also understanding how we could leverage this H3 index correctly. Initially, we thought we could just index the table using the H3 &amp; the spatial query might become faster using it, but we were wrong.

Working with H3 required some trial &amp; error as to what resolution to implement; As it had a major impact on our results in terms of speed and error. If we choose a very high resolution like 9, it took a lot of time to polyfill the polygon, and there were simply more computations to be made. With lower resolution, the points aggregated over a lesser number of grids but it leads to errors in results.

With our use case, we found resolution 7 was acceptable both in terms of speed &amp; accuracy.

### Results

Overall, We were successfully able to reduce the time taken by the spatial query drastically. It went from ~ **15 minutes** using `ST_Within` (for the queries that ran at all) to **30 seconds using h3.** We want to share our learnings with the larger PSQL community and help them save on emissions by cutting query times.

Along those lines, we would like to showcase our work with Postgres as a spatial-temporal database with TimescaleDB, PostGIS and H3.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4033/</url><track>Developer</track><persons><person id="837">Kshitij Purwar</person></persons></event></room><room name="Zurich"><event id="3799"><start>15:40</start><duration>00:50</duration><room>Zurich</room><title>Hero + Hero = Superhero?</title><abstract>The first hero gives you high availability and reliability. The second hero gives you disaster recovery and recovery from human errors. What happens if we combine those heroes to get a kind of superhero? We're talking about Patroni and pgBackRest here: Can/will they integrate? We'll see that live, reproducible for you with easy step by step instructions.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3799/</url><track>DBA</track><persons><person id="616">Julia Gugel</person></persons></event></room><room name="Madrid"><event id="4075"><start>15:40</start><duration>00:50</duration><room>Madrid</room><title>Time-series, PostgreSQL, and You</title><abstract>Time-series data, or data being associated with its respective time of occurrence, is everywhere. From the obvious cases, such as metrics, observability, IoT data, all the way to logs, invoicing, or payment records. While storing some of these in relational databases is standard practice, people often reach for specific time-series databases when volume gets high. But imagine if you could have all of them in the same database: PostgreSQL.

Join me for this session to learn more about the different types of time-series data and have a look at the naive, the native, and the scalable approaches to storing it in PostgreSQL. We’ll contrast their usability and performance characteristics and show you why Postgres is the only database you need!</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4075/</url><track>Sponsors</track><persons><person id="844">Chris Engelbert</person></persons></event></room><room name="Other"><event id="4063"><start>16:30</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4063/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4070"><start>17:00</start><duration>00:15</duration><room>Berlin 1</room><title>Making full use of the PostgreSQL ecosystem</title><abstract>PostgreSQL has come a long way and people use it as an integral part of their infrastructure. We are working hard to make integration as easy as humanly possible and help customers to run PostgreSQL in a comprehensive environment. This includes automation, cloud deployments, monitoring as well as automated tuning.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4070/</url><track>Platinum Sponsor Keynotes</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event><event id="4071"><start>17:20</start><duration>00:15</duration><room>Berlin 1</room><title>Postgres Trivia with Crunchy Data</title><abstract>Test your Postgres knowledge during our round of trivia with Stephen Frost from Crunchy Data.
This session is meant to engage the audience with Postgres fun facts and wisdom and give out prizes to the winners.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4071/</url><track>Platinum Sponsor Keynotes</track><persons><person id="84">Stephen Frost</person></persons></event><event id="3963"><start>17:40</start><duration>00:15</duration><room>Berlin 1</room><title>Accelerating Postgres’ success in the modern enterprise</title><abstract>Digital transformation has made data a key strategic asset, and that puts open source databases center stage. The race is on to power more enterprise applications with Postgres, and to take advantage of what is indisputably the most transformative open source technology since Linux. This talk will analyze the characteristics of modern applications and will lay out a strategic approach to accelerate the successful introduction of Postgres into the modern enterprise.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3963/</url><track>Platinum Sponsor Keynotes</track><persons><person id="178">Marc Linster</person></persons></event><event id="4021"><start>18:00</start><duration>00:15</duration><room>Berlin 1</room><title>Top Takeaways from the 2022 State of PostgreSQL Survey</title><abstract>The third annual State of Postgres survey was completed in June of this year. With more than 1,000 responses this year, we are excited to see such enthusiastic participation from the Postgres community.

In this keynote, we'll examine some of the key findings of the survey based on user responses, looking at the data trends and how participant-provided demographics (years of Postgres experience, region, and Postgres contributions) can help bring new insights based on community feedback.

As we prepare for 2023, including increased adoption of PostgreSQL following the release of version 15, it's important to understand where the Postgres community has come from and areas that can be improved as we move forward. The anonymized data is freely available and we'll conclude by showing everyone how to access multiple versions of the responses.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4021/</url><track>Platinum Sponsor Keynotes</track><persons><person id="844">Chris Engelbert</person></persons></event></room></day><day date="2022-10-28"><room name="Other"><event id="4064"><start>09:00</start><duration>00:30</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4064/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4040"><start>09:30</start><duration>00:50</duration><room>Berlin 1</room><title>Collations in PostgreSQL: The good, the bad and the ugly.</title><abstract>Locales, Collations and Encodings are often given little attention by database users. 

Over the recent years, PostgreSQL's possibilities in this area have grown a lot, especially with the inclusion of the ICU-library. This makes it possible to support a wide range of special requirements directly in your database. 

But even for simple applications, attention should be paid to the topic, because there are a number of pitfalls. These can not only impair performance, but even lead to serious data corruption that  can easily be noticed too late. 

In this presentation, we will explore the features available and raise awareness of the things to watch out for. In particular, we will look at the improvements that have been made recently, both in terms of features and safeguards, and look ahead to future ideas.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4040/</url><track>Developer</track><persons><person id="729">Tobias Bussmann</person></persons></event></room><room name="Berlin 2+3"><event id="3950"><start>09:30</start><duration>00:50</duration><room>Berlin 2+3</room><title>Full Page Writes in PostgreSQL - Critical, Evil or Both - Why you should care and how to optimize</title><abstract>The first portion of the session will cover the critical reason why PostgreSQL generates these full page writes (FPW) and how to monitor the rate of generation. Next we will demonstrate the negative effect of full page writes on performance, scale, backups and replication. Then we will cover various techniques to decrease the amount of full page writes and improve your databases performance/scale/efficiency including using new PostgreSQL versions, parameter changes, application changes and the use of specific PostgreSQL features like partitioning. The final portion of the session will look at how future architectures can eliminate the need for full page writes.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3950/</url><track>DBA</track><persons><person id="232">Grant McAlister</person></persons></event></room><room name="Zurich"><event id="3874"><start>09:30</start><duration>00:50</duration><room>Zurich</room><title>Moving pg_basebackup Forward</title><abstract>Assuming no patches are reverted before release, PostgreSQL 15 will feature significant improvements to pg_basebackup and the server-side BASE_BACKUP command which implements it, including server-side compression and backup targets. In this presentation, I'll talk about the work I and others have done to improve the state of pg_basebackup for PostgreSQL 15, and give an overview of possibilities for the future. In particular, I'll give my opinion on the prospects for parallel and incremental backup: how likely is it that we will get such features, and what will they look like if we do?</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3874/</url><track>Internals</track><persons><person id="264">Robert Haas</person></persons></event></room><room name="Madrid"><event id="4082"><start>09:30</start><duration>00:50</duration><room>Madrid</room><title>Pragmatic (non)native partitioning for developers on Postgres</title><abstract>As a developer I really want to know why and when I should care about partitioning my data in Postgres.
In Adyen we have tables that span multiple terabytes and partitioning is one of our main tools to keep scaling on a single Postgres cluster.
I would like to share some insights we discovered along the way on when and how to partition your big tables and new tables.

Can I use the new native partitioning available since Postgres 10 and what are my alternatives?
What can I do for my existing tables that are not partitioned?

We will talk about pros and cons of partitioning based on real life experience on quite large legacy tables, as well as new projects.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4082/</url><track>Sponsors</track><persons><person id="851">Antoine Daignan</person></persons></event></room><room name="Berlin 1"><event id="3999"><start>10:30</start><duration>00:50</duration><room>Berlin 1</room><title>Practical transactions theory for PostgreSQL users</title><abstract>We all remember the day we realized a database transaction is a slightly more fundamental concept than we thought. It is not just BEGIN/COMMIT/ROLLBACK syntax sugar in our programs that of course makes them more complex and slows them down. And it is not just an outdated mechanism which somehow survived challenges of our modern schemaless noACID world. Transactions are a powerful mechanism of making the programs faster and more efficient but they are heavily based in complex math, which is far away from your daily database routine. In this talk I will give a brief introduction to the theoretical concepts around ACID transactions and related algorithms -- two-phase locking, deadlock detection, MVCC, recovery algorithms -- and highlight in a more practical way how they are applicable to PostreSQL. Finally, I will provide practical advice on working with transactions from your application.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3999/</url><track>General</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event></room><room name="Berlin 2+3"><event id="3926"><start>10:30</start><duration>00:50</duration><room>Berlin 2+3</room><title>Building a perf-like tool for PostgreSQL</title><abstract>Many DBAs are familiar with linux perf utility, but what if instead of sampling random stack traces we could trace full queries, their execution plans, transactions ? In this talk I will present a new open-source tool, inspired by perf but focused on Postgres. 

The tool is built on the linux kernel’s eBPF facility, using trace and perf events, and allows to capture and instrument whole queries down to the individual execution nodes. DBAs and developers interested in profiling could use the tool to capture, without any modification to PostgreSQL itself, interesting information like: IO access, syscalls and specific counters at the query or node level.

We’ll cover what the challenges are when working with EBPF, and many new ideas on how to understand what is happening in a PostgreSQL backend, in the kernel or other libraries that it uses.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3926/</url><track>DBA</track><persons><person id="143">Ronan Dunklau</person></persons></event></room><room name="Zurich"><event id="3830"><start>10:30</start><duration>00:50</duration><room>Zurich</room><title>TOAST, for breakfast and compression</title><abstract>The best thing since sliced bread, or The Oversized Attribute Storage Technique is a feature you usually don't care about. It is doing its work in the background and you won't notice anything about it, usually. But: You should at least be aware what TOAST does and why it is there. Keywords that come up here are: Out-of-line-storage and compression. Both can happen together or only of them. If you have data that does not fit in a single block (8kB, by default), this talk is for you.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3830/</url><track>Developer</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Madrid"><event id="4085"><start>10:30</start><duration>00:50</duration><room>Madrid</room><title>Why we built Neon</title><abstract>Before Neon, I was the founder CTO and then CEO of SingleStore (formerly known as MemSQL). That’s where, I both understood the needs of the transactional databases market first hand and saw the ubiquity of Postgres. In 2021, we started building Neon, a new serverless Postgres cloud service.

What does it mean to be serverless? Why does it matter? Why open source?</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4085/</url><track>Sponsors</track><persons><person id="854">Nikita Shamgunov</person></persons></event></room><room name="Other"><event id="4065"><start>11:20</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4065/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="3809"><start>11:50</start><duration>00:50</duration><room>Berlin 1</room><title>Exploring Linux Memory Usage and IO Performance for PostgreSQL</title><abstract>Just like many databases, some of the key PostgreSQL operations depend on IO performance. However, a lesser known fact is that general operating system memory usage is a key factor to IO performance for buffered IO, which is what PostgreSQL uses.

This session shows and explains the drastic performance difference that identical IO patterns can have in different scenario's on linux, using easy examples that can be tested and replayed by the attendee. 

The goal for this session is to give a DBA the information to understand IO behaviour on its servers.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3809/</url><track>DBA</track><persons><person id="738">Frits Hoogland</person></persons></event></room><room name="Berlin 2+3"><event id="3980"><start>11:50</start><duration>00:50</duration><room>Berlin 2+3</room><title>How to make your Postgres blog posts reach a ton more people</title><abstract>One of the sayings about development in the Postgres world is “it’s not just open source, it’s open engineering.” In the spirit of openness, this talk will walk you through a set of things you can do to make your Postgres blog posts reach a lot more people. These best practices begin with empathy for your readers—and cover lots of ground from there, including key things to know about SEO (search engine optimization) as well as tips on how to promote your blog post. This brand new talk isn’t just theory either: real-world examples are included throughout the talk.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3980/</url><track>General</track><persons><person id="535">Claire Giordano</person></persons></event></room><room name="Zurich"><event id="3827"><start>11:50</start><duration>00:50</duration><room>Zurich</room><title>Breaking the sound barrier - Applications at light speed</title><abstract>Applications are where the magic happens.

All this talk about data being the new gold means nothing when users cannot interact with data. When your application and its features are not what you need them to be, what good is all that!

In the talk Hettie and Jan explore the biggest barrier to breaking the light-speed barrier in application development. The impedance mismatch in software development today will be analyzed. You will get some approaches on how to make a difference, starting today!!
And Postgres’ got you covered here, even though the database is not the cause, nor the ultimate solution…</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3827/</url><track>Developer</track><persons><person id="752">Henrietta Dombrovskaya</person><person id="392">Jan Karremans</person></persons></event></room><room name="Madrid"><event id="4086"><start>11:50</start><duration>00:50</duration><room>Madrid</room><title>Enterprise backups of PostgreSQL with pgBackRest</title><abstract>While efficiently copying files is an important part of backing up your
PostgreSQL database, there's far, far more that an enterprise backup
tool needs to do.  This talk will review the broad set of features in
pgBackRest which makes it the most advanced enterprise backup solution
for PostgreSQL and what the pgBackRest team focuses on while moving
pgBackRest forward.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4086/</url><track>Sponsors</track><persons><person id="855">Stephen Frost</person></persons></event></room><room name="Other"><event id="4066"><start>12:40</start><duration>01:00</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4066/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4034"><start>13:40</start><duration>00:50</duration><room>Berlin 1</room><title>Table Partitioning - Transparent but No Magic</title><abstract>When a table gets too large, performance and maintenance is heavily affected.  That's why you want to split the table into multiple partitions before the problem hits you. Good news is that PostgreSQL has great support for declarative table partitioning. It is easy to use and it is transparent to the application, however, there are some caveats you want to be aware of, as there is no magic in this solution. In this talk, we will review with concrete examples how you would benefit from table partitioning, how to use declarative partitioning, and what are the implications of taking some decisions when designing the schema.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4034/</url><track>DBA</track><persons><person id="541">Boriss Mejias</person></persons></event></room><room name="Berlin 2+3"><event id="3908"><start>13:40</start><duration>00:50</duration><room>Berlin 2+3</room><title>reasonable availability</title><abstract>The PostgreSQL project and service providers around PostgreSQL provided great strides into high availability. 

Anyhow, there is a humongous field of applications that do not require availability down to the last microsecond for 24/365. 

In this talk we will explore how to be reasonable with availaibilty, using those pillars:

- implementing lower nines of availability with PostgreSQL
- how to differentiate between availability asked for and availability needed
- estimation of costs and benefits of availability</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3908/</url><track>Developer</track><persons><person id="78">Harald Armin Massa</person></persons></event></room><room name="Zurich"><event id="3881"><start>13:40</start><duration>00:50</duration><room>Zurich</room><title>Documentation : Let’s make it better, now, together!</title><abstract>Documentation is the best way to capture knowledge and let all the users, from beginners to advanced PostgreSQL users, learn more and make progress.
Let's pick some documentation pages of your favorite software and improve it directly in real-time.
With a few efforts on the content and presentation, your documentation can be more readable and more useful for your community.
Some tips and tricks to have directly a good documentation are at the menu as well, and how-to review an existing documentation.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3881/</url><track>General</track><persons><person id="798">Sarah Haïm-Lubczanski</person></persons></event></room><room name="Madrid"><event id="4078"><start>13:40</start><duration>00:50</duration><room>Madrid</room><title>YaK - The Next-Gen Multi-Platform PostgreSQL Database Managed Services</title><abstract>Nowadays, it is possible to run databases in many environments (On-premises or Cloud). This allows you to move your database workload from one Cloud provider to another. However, the setup of these infrastructures can be complex, mainly because of Cloud provider specific tasks. With the help of our YaK, we achieved to provision and configure PostgreSQL databases from a single interface on all Cloud provider platforms. The only remaining task would be to move your data. Last but not least, the YaK-core part will be available for the Open Source Community.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4078/</url><track>Sponsors</track><persons><person id="847">Hervé Schweitzer</person></persons></event></room><room name="Berlin 1"><event id="3891"><start>14:40</start><duration>00:50</duration><room>Berlin 1</room><title>Adaptive PgBouncer autoscaling with Karpenter</title><abstract>PgBouncer is an essential tool for protecting your database against rapid spikes and churn of database connections and helping to manage transaction throughput. But how do you know how much PgBouncer processes will accommodate your application needs?

In this talk, we demonstrate how to dynamically autoscale PgBouncer for PostgreSQL deployments on Kubernetes. With a Kubernetes Service, which lets us dynamically scale PgBouncer instances without manual intervention, we can use the open source Karpenter autoscaler to optimize cost and allocate the correct size of compute and bin-packs to tune PgBouncer for its workload.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3891/</url><track>DBA</track><persons><person id="6">Jonathan S. Katz</person></persons></event></room><room name="Berlin 2+3"><event id="4029"><start>14:40</start><duration>00:50</duration><room>Berlin 2+3</room><title>Solving PostgreSQL wicked problems</title><abstract>It's more than 25 years since PostgreSQL was developed by the Open Source community. Through this time, we can track how the PostgreSQL community did a brilliant job adding new features and improving existing things, making PostgreSQL one of the most popular DBMSes in the world.

At the same time, we can see a set of wicked problems in PostgreSQL design, which came from Berkley or were added on very early development stages.  Those problems are very annoying for users (especially for Enterprises) and aren't resolved for decades.  Therefore, although PostgreSQL looks stronger than ever, it has a hidden weakness of the vast internal technical debt. To continue the successful way of PostgreSQL in the global market, we have to deal with this debt.

Thankfully, the key feature of PostgreSQL is extensibility.  Extensibility was an essential part of the initial Postgres design, and it became much more robust with table access methods API in PostgreSQL 12.  Miraculously, with just a small patch to PostgreSQL core extending this API, it appears possible to solve wicked PostgreSQL problems in a new engine made within an extension.  This talk covers how the new engine is integrated with PostgreSQL Core and solves the wicked PostgreSQL problems.</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4029/</url><track>Internals</track><persons><person id="860">Mehboob Alam</person></persons></event></room><room name="Zurich"><event id="3819"><start>14:40</start><duration>00:50</duration><room>Zurich</room><title>The curious case of the point of sales, and why we still need pglogical</title><abstract>When bad networks doesn't allow a client/server topology, some special solutions must be found. In this case we have a full PostgreSQL database in every point of sale and pglogical was used to replicate between the nodes.

This of course has it's own complications, in this talk we are going to show: 
- the original problem 
- how pglogical helped to manage the multiple origins problem 
- why native logical replication cannot be used here 
- what we need for native logical replication become a replace of pglogical</abstract><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/3819/</url><track>Developer</track><persons><person id="194">Jaime Casanova</person></persons></event></room><room name="Other"><event id="4067"><start>15:30</start><duration>00:30</duration><room>Other</room><title>Tea</title><abstract /><url>https://www.postgresql.eu/events/pgconfeu2022/schedule/session/4067/</url><track>Breaks</track><persons /></event></room><room name="Berlin 1"><event id="4069"><start>16:00</start><duration>01:00</duration><room>Berlin 1</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/pgconfeu2022/schedule/session/4069/</url><track>PGConf.EU</track><persons><person id="78">Harald Armin Massa</person></persons></event><event id="4068"><start>17:00</start><duration>00:30</duration><room>Berlin 1</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/pgconfeu2022/schedule/session/4068/</url><track>PGConf.EU</track><persons><person id="2">Dave Page</person><person id="1">Magnus Hagander</person></persons></event></room></day></schedule>