<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf.DE 2019</title><start>2019-05-10</start><end>2019-05-10</end><days>1</days><baseurl>https://www.postgresql.eu/events/pgconfde2019/schedule/</baseurl></conference><day date="2019-05-10"><room name="Ballsaal USA"><event id="2514"><start>09:00</start><duration>00:10</duration><room>Ballsaal USA</room><title>Opening</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2514/</url><track>Keynotes</track><persons><person id="30">Andreas Scherbaum</person></persons></event><event id="2512"><start>09:10</start><duration>00:45</duration><room>Ballsaal USA</room><title>Daten, Datenbanken, Datenschutz</title><abstract>Seit fast einem Jahr ist die neue EU-Datenschutz-Grundverordnung (DS-GVO) anzuwenden. Die DS-GVO bringt zwar streng genommen für Datenbank-Admins, Entwickler und verantwortliche Entscheider nur wenige wirklich neue Pflichten mit. Dennoch achten die Datenschutz-Aufsichtsbehörden verstärkt darauf, dass Verantworliche die nötigen  technisch-organisatorischen Maßnahmen einhalten.

Der Vortrag zeigt, welche Anforderunen Verantwortliche und Auftraggeber bei der Planung von Anwendungen frühzeitig berücksichtigen sowie welche Maßnahmen Entwickler und Administratoren bei kleinen wie großen Datenbanken umsetzen sollten.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2512/</url><track>Keynotes</track><persons><person id="313">Alvar C.H. Freude</person></persons></event></room><room name="Arizona"><event id="2411"><start>10:25</start><duration>00:45</duration><room>Arizona</room><title>Time Related Range Types Revisited</title><abstract>PostgreSQL has built in support for a number of range data types, including number, date and timestamp ranges. In this presentation I will focus on the latter two. The need for date and time ranges, or ranges in general has always existed. First intents were done using two table fields for the limits and trigger functions to manage their values. The PostgreSQL implementation of the built in range types is a much more valid and flexible option that simplifies their usage and includes very efficient operators. They can be used in indexes for simple searches or exclusion requirements. So it becomes very simple to implement portions of business logic within the database, profiting from its advantages, such as reliability, efficient queries and, in particular, data integrity.

After a brief introduction to the data types and their functions and operators, I will show a set of real use cases from our daily business at the Institute for Economic Research in Zurich and from the Swiss PostgreSQL Users Group. The use cases make the main part of the presentation and include besides the usage of the range types, at least in one case, its combination with other PostgreSQL features.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2411/</url><track>Talks - Deutsch</track><persons><person id="306">Charles Clavadetscher</person></persons></event></room><room name="Utah"><event id="2474"><start>10:25</start><duration>00:45</duration><room>Utah</room><title>Linux Control Groups für PostgreSQL</title><abstract>Mit Linux Control Groups ("cgroups") kann man Betriebssystemresourcen für Prozeßgruppen beschränken.
Dieser Vortrag beschreibt die Architektur von Control Groups und zeigt, wie man sie sinnvoll für PostgreSQL nutzen kann.
Eine neue Extension "pg_cgroups" wird vorgestellt, die die einfache Administration von Control Groups über postgresql.conf ermöglicht, ohne Systemadministratorrechte zu erfordern.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2474/</url><track>Talks - Deutsch</track><persons><person id="191">Laurenz Albe</person></persons></event></room><room name="South-Dakota"><event id="2414"><start>10:25</start><duration>00:45</duration><room>South-Dakota</room><title>PostgreSQL Optimierung für Oracle DBAs</title><abstract>Bei der Optimierung eines Datenbanksystems kommt es meistens auf die gleichen Themen an, es geht um: Optimierer, Funktionalitäten/Bugs, schlecht geschriebenes SQL, Verständnis der Datenbankparameter und auch: Speicher und Betriebssystem-Konfiguration (Fehlkonfiguration). PostgreSQL ist hier keine Ausnahme, aber wenn Sie versuchen PostgreSQL mit einem reinen Oracle Ansatz zu optimieren, gibt es einige Gemeinsamkeiten, aber auch große Unterschiede. Dies ist eine harte Lektion aus meiner Oracle DBA Erfahrung.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2414/</url><track>Talks - Deutsch</track><persons><person id="468">Hervé Schweitzer</person></persons></event></room><room name="Arizona"><event id="2485"><start>11:20</start><duration>00:45</duration><room>Arizona</room><title>Hint Bits, die Visibility Map und der ganze Rest</title><abstract>Neben Multiversion Concurrency Control (MVCC) benutzt PostgreSQL etliche Optimierungen zur Performance-Verbesserung. Dieser Vortrag zeigt auf, wie MVCC, das Clog, Hint Bits, die Visibility Map, Freezing und Index-Only-Scans zusammenspielen.
Vorkenntnisse sind keine speziellen notwendig.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2485/</url><track>Talks - Deutsch</track><persons><person id="82">Christoph Berg</person></persons></event></room><room name="South-Dakota"><event id="2477"><start>11:20</start><duration>00:45</duration><room>South-Dakota</room><title>A look at the Elephants trunk - PostgreSQL 12</title><abstract>PostgreSQL 12 is not done yet. In fact, most people have not upgraded to 11 yet! But some of the things that will be in the next version, targeted for release later in 2019, are already done. This talk will outline some of the bigger and more interesting features to look forward to!</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2477/</url><track>Talks - English</track><persons><person id="1">Magnus Hagander</person></persons></event></room><room name="Utah"><event id="2489"><start>11:20</start><duration>00:45</duration><room>Utah</room><title>PostgreSQL as a Big Data Platform</title><abstract>This talk will provide a basic tour of three of our big data projects at Adjust and discuss why we use PostgreSQL as a big data platform. 

The three environments are very different in requirements, architecture, and approach.

Attendees will get a sense of big data problems, when and where PostgreSQL shines, and what we have actually made work.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2489/</url><track>Talks - English</track><persons><person id="443">Christopher Travers</person></persons></event></room><room name="Other"><event id="2513"><start>12:05</start><duration>00:45</duration><room>Other</room><title>Lunch Break</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2513/</url><track>Breaks</track><persons /></event></room><room name="Utah"><event id="2496"><start>12:50</start><duration>00:45</duration><room>Utah</room><title>An ultimate guide to upgrading your PostgreSQL installation</title><abstract>
Even an experienced PostgreSQL DBA can not always say that upgrading
between major versions of Postgres is an easy task, especially if
there are some special requirements, such as downtime limitations or
if something goes wrong. For less experienced DBAs anything more
complex than dump/restore can be frustrating.

In this talk I will describe why we need a special procedure to
upgrade between major versions, how that can be achieved and what sort
of problems can occur. I will review all possible ways to upgrade your
cluster from classical pg_upgrade to old-school slony or modern
methods like logical replication. For all approaches, I will give a
brief explanation how it works (limited by the scope of this talk of
course), examples how to perform upgrade and some advice on
potentially problematic steps. Besides I will touch upon such topics
as integration of upgrade tools and procedures with other software —
connection brokers, operating system package managers, automation
tools, etc. This talk would not be complete if I do not cover cases
when something goes wrong and how to deal with such cases.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2496/</url><track>Talks - English</track><persons><person id="88">Ilya Kosmodemiansky</person></persons></event></room><room name="Arizona"><event id="2505"><start>12:50</start><duration>00:45</duration><room>Arizona</room><title>Patroni is not a pizza place. // Patroni ist keine Pizzeria.</title><abstract>(english version below - I can give the talk in german and english.)

Patroni ist keine Pizzeria.
(Eine Einführung in die Verwaltung hochverfügbarer Postgres Cluster.)

Patroni ist nicht nur der Name diverser Pizzerien, sondern auch der Name einer erprobten und soliden Lösung zur Verwaltung hochverfügbarer Datenbankcluster auf Grundlage von Postgres.
Der Vortrag wird zuerst Grundlagen der Replizierung in Postgres erläutern und typische Probleme aufzeigen, die Tools zur Verwaltung eines Clusters lösen müssen. Im Anschluss wird gezeigt, wie diese Probleme in Patroni gelöst werden.
Der zweite Teil des Vortrags ist praxisorientierter und stellt eine Art Anleitung zum Erstellen und Verwalten eines Patroni-Clusters mit etcd oder consul dar. Einige Fallstricke beim Deployment werden aus dem Weg geräumt und Ansätze zur Fehlersuche vorgestellt.
Abschließend wird noch ein Ausblick gegeben, wie sich die Lebendigkeitsinformationen, die Patroni über etcd oder consul bereitstellt, zur Verwaltung von virtuellen IP Adressen, Proxyservern und Verbindungen von Ihren Applikationen zum Cluster ausnutzen lassen.



Patroni is not a pizza place.
(An introduction to HA postgres cluster management.)

Patroni is not only the name of several pizza places, but also the name of a tried and tested software for management of postgres-based high availability clusters.
The talk will begin with an introduction to postgres HA-cluster management and show typical problems to overcome. It will then be shown how patroni deals with these issues.
The second part of the talk will take a more practical approach by providing useful advice on patroni cluster setup with consul or etcd, as well as a basic guide to cluster administration through patroni. Common deployment problems and troubleshooting approaches will be discussed.
Lastly, food for thought will be provided on how the liveliness information exposed by patroni through etcd or consul can be exploited for management of virtual IPs, proxying and connections from your application to the cluster.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2505/</url><track>Talks - Deutsch</track><persons><person id="599">Julian Markwort</person></persons></event></room><room name="South-Dakota"><event id="2473"><start>12:50</start><duration>00:45</duration><room>South-Dakota</room><title>Ordnung muss sein</title><abstract>Die Sortierung von Text in einer SQL-Datenbank wird von sogenannten
Sortierfolgen/Collations beeinflusst. Diese arbeiten oft im
Hintergrund, bieten aber eine Reihe interessanter Möglichkeiten,
können aber auch operative Probleme verursachen oder einfach nur die
Nutzer verwirren.

In diesem Vortrag möchte ich zunächst erklären, wie moderne
Sortierfolgen funktionieren und welche Rolle Unicode spielt. Dann
behandeln wir, welche Varianten und Einstellungsmöglichkeiten es gibt,
zum Beispiel fremdsprachige Sortierung, Groß-/Kleinschreibung,
Telefonbuchsortierung, und wie diese in PostgreSQL implementiert
sind. Hier können wir auch einen Blick voraus wagen, auf interessante
Entwicklungen für kommende PostgreSQL-Versionen. Schließlich
betrachten wir, wie Collations die Verwaltung von Datenbanken und
insbesondere Upgrades beeinflussen. Hier gibt es einige Fallen, die
unter anderem zu korrupten Indexen oder Datenverlust führen können.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2473/</url><track>Talks - Deutsch</track><persons><person id="503">Peter Eisentraut</person></persons></event></room><room name="Arizona"><event id="2476"><start>13:45</start><duration>00:45</duration><room>Arizona</room><title>EXPLAIN erklärt</title><abstract>Bei der Analyse von Performance-Problemen (Warum ist diese Abfrage langsam) kann eine Auswertung
des Abfrageplanes via EXPLAIN helfen. Doch wie liest man dies?</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2476/</url><track>Talks - Deutsch</track><persons><person id="175">Andreas Kretschmer</person></persons></event></room><room name="South-Dakota"><event id="2413"><start>13:45</start><duration>00:45</duration><room>South-Dakota</room><title>[x],[y],zheap - What is it good for?</title><abstract>Traditionally PostgreSQL stores relations in a format called heap. This comes with advantages, but also drawbacks. One of the downsides is, that every PostgreSQL DBA at some point in time needs to deal with bloat. zheap promises to mostly eliminate bloat but in addition claims to be better for certain kinds of workloads. In various demos we'll go through the architecture of zheap, highlight the advantages and then do some tests for comparing heap and zheap.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2413/</url><track>Talks - Deutsch</track><persons><person id="386">Daniel Westermann</person></persons></event></room><room name="Utah"><event id="2463"><start>13:45</start><duration>00:45</duration><room>Utah</room><title>Connection pooling mit pgbouncer</title><abstract>Wenn man in PostgreSQL eine Verbindung öffnet, entsteht automatisch am Server ein Prozess. Wenn man also sehr viele Connections offen hat, kann das durchaus zu einem Performance Thema werden. pgbouncer ist ein Tool, das helfen kann, um den Overhead den Verbindungsaufbaus zu reduzieren.
Dieser Talk liefert einen kleinen Überblick über pgbouncer.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2463/</url><track>Talks - Deutsch</track><persons><person id="39">Hans-Jürgen Schönig</person></persons></event><event id="2499"><start>14:40</start><duration>00:45</duration><room>Utah</room><title>Wie PostgreSQL Ihre Daten sicher hält</title><abstract>PostgreSQL ist für seine Datensicherheit berühmt - die Entwickler legen größten Wert darauf, dass die von ihm verwalteten Nutzerdaten nicht verloren gehen. Trotzdem kann es auf Grund defekter Hardware, Betriebssystem-Fehlern oder (selten aber vorkommend) PostgreSQL-Problemen zu Datenverlust kommen.

Dieser Vortrag bietet eine Übersicht über die Sicherheits-Vorrichtungen von PostgreSQL.
Außerdem werden die zur Verfügung stehenden zusätzlichen Möglichkeiten zur Erhöhung der Datensicherheit besprochen.  Hierzu gehören die Verwendung von Checksummen, die Validierung von Backups oder der Einsatz von Programmen zur Erkennung von Daten-Inkonsistenzen.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2499/</url><track>Talks - Deutsch</track><persons><person id="301">Michael Banck</person></persons></event></room><room name="Arizona"><event id="2503"><start>14:40</start><duration>00:45</duration><room>Arizona</room><title>If the data do not come to R, then R must go to the data</title><abstract>Modern-day science becomes data-driven science, for example molecular biology produces experimental data in gigabytes and terabytes. All scientific data require statistical evaluation. Statistical software such as R, SAS, Python and MatLab libraries allow for effective data analysis, but are typically not optimally tuned for data storage and management. Thus a common pipeline of data analysis would include uploading the data into a database, selection and manipulation on them in the database, writing the subsets into a text file, uploading the text file into a data analysis language of one’s choice and doing the statistical analysis there, which ensues significant overheads. A workaround for this would be to establish connection to a database from a statistical computing environment, or, conversely, connecting to a statistical environment from a database.
In this talk, I will show how large amounts of data can be analysed directly from the database using the PL/R PostgreSQL language extension. In particular, I will show how to use custom aggregate functions to pass lists of data values pre-selected in the database and perform statistical tests and real-time plotting using the built-in R functions. I will also show how the full implementation of the R functionality in PL/R, allows to use external libraries, for example to produce print-ready plots. Nevertheless, passing several lists of values from the database to PL/R is still cumbersome, and I will show a work-around to do this.
Taken together, PL/R provides a powerful and extendable means to perform on-flight data analysis that avoids additional writing to disk, and thus streamlines the data analysis and potentially makes it more efficient. However, there is probably still a long way to go before this combination of tools gains broad acceptance, and I will discuss some ways in that we can make this happen.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2503/</url><track>Talks - English</track><persons><person id="577">Olga Kalinina</person></persons></event></room><room name="South-Dakota"><event id="2486"><start>14:40</start><duration>00:45</duration><room>South-Dakota</room><title>Niemanden ausschließen: Begrüße Nicht-Schlüssel-Spalten in B-Tree-Indizes</title><abstract>PostgreSQL 11 hat die CREATE INDEX-Anweisung für B-Tree-Indizes um die INCLUDE-Klausel erweitert. Die bekannteste Anwendung dieser Klausel ist es, einen Index Only Scan zu ermöglichen, ohne die selektierten Spalten in den Indexes-Schlüssel aufzunehmen. Die INCLUDE-Klausel hat jedoch auch andere Anwendungsfälle, die vielleicht noch nützlicher als der Index Only Scan sind.

Dieser Vortrag gibt eine kurze Einführung in B-Tree-Indizes, Index Only Scans und was die INCLUDE-Klausel bewirkt. Neben dem Index Only Scan werden auch Anwendungen gezeigt, die etwas subtiler, aber mindestens so nützlich wie der Index Only Scan sind. Abschließend werden auch noch die grenzen der INCLUDE-Klausel in PostrgreSQL 11 aufgezeigt.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2486/</url><track>Talks - Deutsch</track><persons><person id="142">Markus Winand</person></persons></event></room><room name="Ballsaal USA"><event id="2482"><start>15:55</start><duration>00:20</duration><room>Ballsaal USA</room><title>Hilfe die Open Source DBs kommen</title><abstract>"Wo ein hunnisches Pferd hingetreten hat, wächst kein Gras mehr" sagte Attila, nachdem er die römische Stadt Aquileja in einen Steinhaufen verwandelt hatte. Sind wir Datenbank Administratoren wie die alten Römer? Werden proprietäre Datenbanken in naher Zukunft mehr und mehr von Open Source Produkten verdrängt? DevOps, SAFe, Feature Teams, PI Plannings – in der schweizer Versicherung «Mobiliar» ist Vieles in Bewegung: alte Vorgehensweisen ändern sich rasant, auch im Datenbank Umfeld. PostgreSQL, H2, Mongo, Elasticsearch aber auch Container Datenbanken im Docker Umfeld und Cloud Readyness stellen die neuen Herausforderungen dar, die wie eine Welle auf die DBA Teams zurollen. Was fangen wir damit an? Wollen wir verdrängen, uns auf die stabile Strategie der letzten 10 Jahre berufen oder versuchen zu verstehen, was gerade passiert? Wollen wir die Pain Points bei den Entwicklern identifizieren und verstehen, warum sie sich bspw. nicht mit „Oracle zufrieden geben“? Diese Fragen mussten wir uns als DBA Team in der Mobiliar stellen. Dieser Vortrag stellt die Veränderungen vor, die im DBA Team im Moment gerade vor sich gehen und beleuchtet, was sich hinter den Wünschen der Entwickler versteckt. Es geht darum, wie aus einem gemeinsamen Verständnis Innovation entstehen kann.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2482/</url><track>Keynotes</track><persons><person id="602">Paolo Kreth</person><person id="603">Yann Neuhaus</person></persons></event><event id="2465"><start>16:20</start><duration>00:20</duration><room>Ballsaal USA</room><title>Migrationsentscheidungen</title><abstract>Sollen wir zu PostgreSQL migrieren? 
Es gibt reichlich Erfahrung, diese Entscheidung für eine Datenbank zu treffen: Analyse der technischen Machbarkeit; Kalkulation des Aufwandes und Abschätzen der Risiken; Abwägen von Kostenersparnissen und möglichen inhaltlichen Verbesserungen. 
Wie können Migrationsentscheidungen für mehrere tausend Datenbanken getroffen werden?  Wir zeigen einen möglichen Weg.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2465/</url><track>Keynotes</track><persons><person id="78">Harald Armin Massa</person></persons></event><event id="2487"><start>16:45</start><duration>00:20</duration><room>Ballsaal USA</room><title>PostgreSQL Tendenzen in der Geschäftsumgebung</title><abstract>In den vergangenen Jahren gab es viele neue Entwicklungen, die für die Anwendung von PostgreSQL in der Geschäftsumgebung wichtig waren. Dies betrifft sowohl die Technik als auch die Community als auch die Anbieter von PostgreSQL-basierten Lösungen und Dienstleistungen. Dieser Vortrag fasst die Änderungen zusammen und erläutert sie. Gleichzeitig wird der Versuch gewagt, Hinweise auf die zukünftige Entwicklung zu geben und das weitere Potential aufzuzeigen.</abstract><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2487/</url><track>Keynotes</track><persons><person id="46">Michael Meskes</person></persons></event><event id="2515"><start>17:10</start><duration>00:15</duration><room>Ballsaal USA</room><title>Closing</title><abstract /><url>https://www.postgresql.eu/events/pgconfde2019/schedule/session/2515/</url><track>Keynotes</track><persons><person id="30">Andreas Scherbaum</person></persons></event></room></day></schedule>