<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf.DE 2020</title><start>2020-05-15</start><end>2020-05-15</end><days>1</days><baseurl>https://www.postgresql.eu/events/pgconfde2020/schedule/</baseurl></conference><day date="2020-05-15"><room name="Other"><event id="3420"><start>08:30</start><duration>00:30</duration><room>Other</room><title>Registration</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3420/</url><track>Breaks</track><persons /></event></room><room name="Room 2"><event id="3334"><start>09:10</start><duration>00:45</duration><room>Room 2</room><title>Revisionssichere Migration</title><abstract>Migrationen sind heute an der Tagesordnung, aber sind Sie sicher, dass sie auch wirklich ALLE Daten mitgenommen haben?

Haben Sie sich schon mal gefragt, wie Sie das Beweisen können und vor allen Dingen, wem Sie das Beweisen müssen?

In dem Vortrag geht es darum, wie Sie den Nachweise erbringen können, dass Sie bei einer Migration wirklich alle Daten unverändert übernommen haben. Hierbei gibt es, je nach Art der Migration -- Brand to Brand, Brand to New Brand, Brand to Cloud -- unterschiedliche Anforderungen und Möglichkeiten. Bei allen Varianten geht es im Wesentlichen darum, wie sie gesichert und in endlicher Zeit den Nachweis der Datenintegrität erbringen können und wie Sie das Dokumentieren.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3334/</url><track>Talks - Deutsch</track><persons><person id="715">Ernst Leber</person></persons></event></room><room name="Room 3"><event id="3348"><start>09:10</start><duration>00:45</duration><room>Room 3</room><title>Mehr als eine Abfragesprache: SQL im 21. Jahrhundert</title><abstract>“Great News–The Relational Model is Dead” war ein prominenter Kommentar als 1999 ein neuer SQL-Standard verabschiedet wurde. Der Hintergrund dieser provokanten Aussage war, dass sich SQL damit über das relationale Modell hinausentwickelt hat. Obwohl dieser Schritt damals viel diskutiert wurde, haben manche Datenbankhersteller Jahrzehnte gebraucht, um diesen Paradigmenwechsel zu vollziehen. Viele Entwickler haben bis heute nichts davon gehört.

Dieser Vortrag erzählt die Geschichte dieser revolutionären Änderung und stellt einige ausgewählte Funktionen von modernem SQL vor. Dabei wird deutlich, dass sich SQL in den letzten Jahrzehnten genauso geändert hat wie die Anforderungen, die an moderne Softwareentwicklung gestellt wird.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3348/</url><track>Talks - Deutsch</track><persons><person id="142">Markus Winand</person></persons></event></room><room name="Room 1"><event id="3014"><start>09:10</start><duration>00:45</duration><room>Room 1</room><title>Your Name Is Invalid!</title><abstract>People have names. Most people do. People have first names and last names. Many people do. People have any sorts of names that often don't fit fixed fields in the forms. These names may contain letters, accented letters, and other characters, that may cause problems to your code depending on the encoding you use. They may look differently in uppercase and lowercase, or may not be case foldable at all. Searching and sorting these names may be tricky too. And if you design an application, web form, and/or database dealing with personal names, you'll have to take that into account.

This talk is not about GDPR, but will help you to use the best tools to handle encoding and locales in PostgreSQL and in your code and prevent your application from appearing in #uxfail memes.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3014/</url><track>Talks - English</track><persons><person id="446">Miroslav Šedivý</person></persons></event></room><room name="Other"><event id="3421"><start>09:55</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3421/</url><track>Breaks</track><persons /></event></room><room name="Room 3"><event id="3383"><start>10:25</start><duration>00:45</duration><room>Room 3</room><title>Pg_catalog Unrevealed! That part of PostgreSQL you are probably underusing</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/pgconfde2020/schedule/session/3383/</url><track>Talks - English</track><persons><person id="541">Boriss Mejias</person></persons></event></room><room name="Room 1"><event id="3301"><start>10:25</start><duration>00:45</duration><room>Room 1</room><title>PostgreSQL TDE 12: Using on-disk encryption</title><abstract>PostgreSQL stores data on disk in its standard format. Once in a while it is necessary to make sure that the disk is encrypted and the database can only start if a key is provided.
PostgreSQL TDE can do exactly that. This talk shows how TDE works, what kind of performance one can expect and how to getting started.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3301/</url><track>Talks - English</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event></room><room name="Room 2"><event id="3413"><start>10:25</start><duration>00:45</duration><room>Room 2</room><title>PostgreSQL and ORACLE architecture — in comparison</title><abstract>This talk will review the following components of the PostgreSQL DBMS, comparing architecture decisions with those of ORACLE DBMS:

1. What is working DBMS instance, which processes are there and what DBMS uses  them for?
2. Which structures DBMS manages?
3. Durability mechanics.
4. MVCC design and database restoration possibilities
5. Storing data on the physical media

Comparison will be done side-by-side.

Talk will be interesting for:
- PostgreSQL users, as it will allow to have a look on other DBMS;
- PostgreSQL administrators, as ORACLE provides huge administrative possibilities, which could be adopted also in the PostgreSQL;
- those willing to migrate from ORACLE (or any other DBMS) into the Open-Source-based projects, as this talk will show the features of the open-source DBMS PostgreSQL in comparison with a commercial product. And Postgres looks very strong indeed!</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3413/</url><track>Talks - English</track><persons><person id="425">Victor Yegorov</person></persons></event></room><room name="Room 1"><event id="3298"><start>11:20</start><duration>00:45</duration><room>Room 1</room><title>The right space for a table is a tablespace, isn't it?</title><abstract>Tablespaces in PostgreSQL: Should you? Some say "No"! Some say "maybe"! Others say "yes"! Reasons, pitfalls, and a lot of demos.
Well, that's a really short abstract, but it says it all.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3298/</url><track>Talks - English</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Room 3"><event id="3354"><start>11:20</start><duration>00:45</duration><room>Room 3</room><title>Räumliche Services auf Basis von PostGIS und OSM</title><abstract>Räumliche Daten sind in aller Munde und werden mittlerweile mit Hilfe räumlicher Services wie Tiling zur Visualisierung, Routing zur Navigation und Geokodierung von Adressen rege von der breiten Masse konsumiert. 
Hierbei werden vornehmlich Enterprise-Services von Google beziehungsweise Microsoft genutzt, die für den privaten Anwender zumeist kostenlos zugänglich sind, im Enterprise-Bereich jedoch üblicherweise je nach Nutzungsgrad mit Lizenzkosten verbunden sind. 
Die vorliegende Arbeit zeigt, wie mit Hilfe von PostGIS als räumlicher Datenbank, frei verfügbaren OpenstreetMap-Daten und weiteren OpenSource-Komponenten räumliche Services zur Visualisierung von Basisdaten umgesetzt werden können. Neben der potentiellen Einsparung von Lizenzkosten ermöglicht diese Herangehensweise auch eine einfache Verknüpfung von OSM Basisdaten mit internen, nicht zu veröffentlichenden Daten. 
Folgende Sachverhalte werden in der Präsentation näher erläutert:
Zunächst werden Charakteristika von OSM-Daten beleuchtet, um potentielle Anwendungsgebiete abzuleiten.
Anschließend werden typische räumliche Services, die in der Praxis angewandt werden, vorgestellt. Fokus liegt hierbei auf Tiling-Services zum Zwecke der Visualisierung räumlicher Daten. 
Als Backend wird auf PostGIS zurückgegriffen, das initial und laufend mit OSM-Daten beladen wird. Es folgt ein Überblick über gängige Werkzeuge und Tool-Chains, um sowohl Import als auch Updates zu bewerkstelligen. 
Des weiteren wird die Verschneidung bzw. Anreicherung von OSM-Basisdaten mit eigenen Daten kommentiert, um das volle Potential des “self-Hostings“ auszuschöpfen. 
Final erfolgt eine Demonstration eines Tiling-Services auf Basis von OSM-Extrakten, der proprietäre Daten on-top darstellt.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3354/</url><track>Talks - Deutsch</track><persons><person id="716">Florian Nadler</person></persons></event></room><room name="Room 2"><event id="3380"><start>11:20</start><duration>00:45</duration><room>Room 2</room><title>Does anyone really need RAC?</title><abstract>One of the main reasons we hear for not being able to migrate from Oracle to PostgreSQL is the fact that “We absolutely, definitively must have RAC”. 
Despite its cost and complexity, RAC is widely used in response to a variety of (real or imagined) performance, high availability and/or scalability requirements. PostgreSQL does not have an equivalent to RAC. But does anyone really need it? 
In his 2003 white paper “You probably don’t need RAC”, Mogens Norgaard asserts that “If you have a system that needs to be up and running a few seconds after a crash, you probably need RAC. If you cannot buy a big enough system to deliver the CPU power and or memory you crave, you probably need RAC… Otherwise, you probably don’t need RAC. Alternatives will usually be cheaper, easier to manage and quite sufficient”. 
Does this statement still hold true and what are the alternatives that are available to us in PostgreSQL?</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3380/</url><track>Talks - English</track><persons><person id="667">Karen Jex</person></persons></event></room><room name="Other"><event id="3422"><start>12:05</start><duration>00:45</duration><room>Other</room><title>Lunch</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3422/</url><track>Breaks</track><persons /></event></room><room name="Room 3"><event id="2978"><start>12:50</start><duration>00:45</duration><room>Room 3</room><title>PostgreSQL Replication: (Almost) everything you want to know</title><abstract>PostgreSQL has in-core replication since 9.0, and evolved a lot since then. This talk will first mention about the history of replication in PostgreSQL, followed by internals and finally a demo of setting replication quickly.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/2978/</url><track>Talks - English</track><persons><person id="49">Devrim Gündüz</person></persons></event></room><room name="Room 1"><event id="3393"><start>12:50</start><duration>00:45</duration><room>Room 1</room><title>CREATE STATISTICS - what is it about?</title><abstract>One of the new features in PostgreSQL 10 is the ability to create multi-column statistics, helping the optimizer understand dependencies between columns. PostgreSQL 12 further improved the feature by supporting more complicated statistics types.

This talk will explain a bunch of important questions - why we need this capability at all for some queries, how it works, which cases it can address currently, and which improvements are in the queue for PostgreSQL 13.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3393/</url><track>Talks - English</track><persons><person id="116">Tomas Vondra</person></persons></event></room><room name="Room 2"><event id="3367"><start>12:50</start><duration>00:45</duration><room>Room 2</room><title>Automated User and Access Management in a DBaaS Environment</title><abstract>In a Database-as-a-Service environment, the life cycle of large numbers of databases, users and access rules need to be managed in a fully automated and self-service way. At the same time, user and database configuration should follow enterprise standards and application requirements. In this presentation we show how we automate the setup of users in SwissRe DBaaS, including entries in pg_hba.conf, so that access to databases can be granted and revoked by authorized users in self-service mode without manual activities. Furthermore, we elaborate how to support standardized yet flexible database configurations that can be enhanced with application-specific customizations, such as non-default extensions.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3367/</url><track>Talks - English</track><persons><person id="694">Andreas Geppert</person><person id="719">Karsten Lenz</person></persons></event><event id="3396"><start>13:45</start><duration>00:45</duration><room>Room 2</room><title>FlameExplain - Building the Best EXPLAIN ANALYZE Tool out of Volcanic Ashes</title><abstract>If you ever had to debug a slow query in PostgreSQL, you have probably used EXPLAIN ANALYZE &amp;lt;query&amp;gt;.

EXPLAIN ANALYZE is amazing, but unfortunately it is also a little broken. This mostly isn't due to bugs, but rather due to violations of the principle of least surprise. E.g. why can a node take less time to execute than the sum of its children's execution time?

There already are many great tools that attempt to reduce these surprises, but sadly they fail to do so for complicated queries where you'd need their help the most. This slows down the work of both experienced as well as novice query optimizers.

This presentation will:

- Introduce you to the inner workings of EXPLAIN ANALYZE, including PostgreSQL's query planner and its Volcano-Style executor model.
- Explain Nested Loops, CTEs, Filters using Init Plans, Parallel Append, and other types of query plans that contain child nodes that exceed the execution time of their parents and make it seem like elephants are bad at math (they are not).
- Tell the story of building FlameExplain, a new EXPLAIN ANALYZE tool that adjusts these kinds of pathological plans to make the "numbers add up". This improves the user experience and enables Flame Graphs and other visualizations that were previously impossible to implement reliably.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3396/</url><track>Talks - English</track><persons><person id="707">Felix Geisendörfer</person></persons></event></room><room name="Room 3"><event id="3395"><start>13:45</start><duration>00:45</duration><room>Room 3</room><title>Back to the Future</title><abstract>It is expected that 75% of all databases in the world will run in the cloud by 2022. In the meanwhile we noticed that we have exactly the same performance issues with databases in the cloud as we had 20 years ago on premises. In those days we carefully had to select the resources, especially the disks, for the database systems to be as efficient as possible. Today with SSDs, a lot of memory and Gigabyte network connectivity the careful selection of resources is less important . On the opposite, in the cloud, we need again to check the resources assigned very carefully to control cost and performances. In this session we'll have a look at some key points to consider when choosing resources in the cloud with live demos.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3395/</url><track>Talks - English</track><persons><person id="468">Hervé Schweitzer</person></persons></event></room><room name="Room 1"><event id="3402"><start>13:45</start><duration>00:45</duration><room>Room 1</room><title>Linux IO internals for PostgreSQL administrators in 2020</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/pgconfde2020/schedule/session/3402/</url><track>Talks - English</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event><event id="3387"><start>14:40</start><duration>00:45</duration><room>Room 1</room><title>PostgreSQL logs the way you like it</title><abstract>PostgreSQL is a complex system and in order to understand what’s going on you need to make it log what you are interested in, to the location of your convenience.

This talk describes what, where and how of PostgreSQL logging, from going over the configuration parameters to actually looking at the internals, gives out some tips on how to organize logs to be able to analyze them efficiently and explains how to extend the logging mechanism via the built-in hooks to build your own custom solution (together with examples).</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3387/</url><track>Talks - English</track><persons><person id="135">Oleksii Kliukin</person></persons></event></room><room name="Room 2"><event id="3400"><start>14:40</start><duration>00:45</duration><room>Room 2</room><title>PGIO, pg_hint_plan, pgSentinel to troubleshoot PostgreSQL application performance</title><abstract>Coming to PostgreSQL after years of Oracle performance tuning, I realize that I approach PostgreSQL with tools and methods that are different from what a 'native' postgres DBA will start with. What made my job easier on Oracle is also available, and free, for PostgreSQL: 

 - PGIO can be more appropriate than pgbench when analyzing the raw platform performance
 - pgSentinel, with its ASH sampling approach, is more focused at the root cause than statistics and ratios
 - pg_hint_plan has its use when trying to understand the query planner decisions

All those tools with why/how/when explanations and live demo.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3400/</url><track>Talks - English</track><persons><person id="618">Franck Pachot</person></persons></event></room><room name="Room 3"><event id="3398"><start>14:40</start><duration>00:45</duration><room>Room 3</room><title>PostgreSQL on K8S at Zalando: Two years in production</title><abstract>Many DBAs avoid any kind of cloud offering and prefer to run their databases on dedicated hardware. At the same time companies demand to run Postgres at scale, efficiently, automated and well integrated into the infrastructure landscape. The arrival of Kubernetes provided good building blocks and an API to interact with and with it solve many problems at the infrastructure level.

The database team at Zalando started running highly-available PostgreSQL clusters on Kubernetes more than two years ago. In this talk I am going to share how we automate all routine operations, providing developers with easy-to-use tools to create, manage and monitor their databases, avoiding commercial solutions lock-in and saving costs, show open-source tools we have built to deploy and manage PostgreSQL cluster on Kubernetes by writing short manifests describing a few essential properties of the result.

Operating a few hundred PostgreSQL clusters in a containerized environment has also generated observations and learnings which we want to share: infrastructure problems (AWS), how engineers use our Postgres setup and what happens when the load becomes critical.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3398/</url><track>Talks - English</track><persons><person id="359">Alexander Kukushkin</person></persons></event></room><room name="Other"><event id="3423"><start>15:25</start><duration>00:30</duration><room>Other</room><title>Coffee</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3423/</url><track>Breaks</track><persons /></event><event id="3366"><start>15:55</start><duration>00:20</duration><room>Other</room><title>PostgreSQL und die Herausforderungen der Zukunft</title><abstract>Vorbei sind die Zeiten, in denen Datenbanken als dedizierte Systemen von
dedizierten Teams verwaltet wurden. In der heutigen Zeit von Devops-,
As-a-Service- und Mikroservice-Architekturen ist eine weitaus höhere
Integration und Flexibilität gefragt. Die Anforderungen an Datenbanken und an ihre Verwaltung ändern sich erheblich, was sowohl die Software, als auch die
Organisationsstrukturen vor neue Herausforderungen stellt.

Diese Keynote beleuchtet die Änderungen im Anwendungsverhalten und in der Organisation von IT Abteilungen und Projekten. Sie betrachtet, wie die Open-Source-Welt im Allgemeinen und das PostgreSQL-Projekt im Besonderen gefordert sind, und wie sie helfen können, geschäftskritische Infrastrukturen noch besser und performanter abzubilden.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3366/</url><track>Keynotes</track><persons><person id="46">Michael Meskes</person></persons></event><event id="3303"><start>16:20</start><duration>00:20</duration><room>Other</room><title>Applikationsentwicklung mit PostgreSQL</title><abstract>Viele Anwendungen werden speziell für PostgreSQL entwickelt. Welche Möglichkeiten gibt es, solche Anwendungen effizient und schnell zu entwickeln?</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3303/</url><track>Keynotes</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event><event id="3353"><start>16:45</start><duration>00:20</duration><room>Other</room><title>35 Jahre Datenbanken, 25 Jahre PostgreSQL</title><abstract>Insights from working with databases for nearly 35 years, and taming the Elephant for roughly 25 years. What changed with storing data across the decades, what stayed the same? 
Why the community culture of PostgreSQL made me stay for the long term; and some outlooks and hopes.

Einblicke von dem Umgang mit Datenbank für nahezu 35 Jahre, und vom Zähmen des Elephanten für rund 25 Jahre. Was hat sich über die Jahrzehnte verändert beim Datenspeichern, was blieb gleich?
Wie hat mich der Gemeinsinn von PostgreSQL für so lange begeistert; einige Ausblicke und Hoffnungen für die Zukunft.</abstract><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3353/</url><track>Keynotes</track><persons><person id="78">Harald Armin Massa</person></persons></event><event id="3424"><start>17:05</start><duration>00:25</duration><room>Other</room><title>Closing</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2020/schedule/session/3424/</url><track>Keynotes</track><persons><person id="30">Andreas Scherbaum</person><person id="280">Danilo Endesfelder</person></persons></event></room></day></schedule>