List of videos

Be Inclusive: Welcome Non-Key Columns in B-Tree Indexes — Markus Winand
PostgreSQL 11 introduced the INCLUDE clause for b-tree indexes. The main intention of this clause is to enable Index Only Scans without including selected columns into the index key. But the INCLUDE clause has many other interesting capabilities that might be even more useful than the support of Index Only Scans. This talk gives you a brief introduction into b-tree indexes, Index Only Scans and what the INCLUDE clause does. It demonstrates where cases the INCLUDE clause can be beneficial and discusses a few more subtle benefits that are not commonly known. Finally, the talk also shows the limits of the INCLUDE clause in PostgreSQL 11. https://www.postgresql.eu/events/pgdayparis2019/schedule/session/2361-be-inclusive-welcome-non-key-columns-in-b-tree-indexes/
Watch
Don't Forget Materialized Views — Stéphanie Baltus
When exposing data to an user interface, we often find ourselves needing to speed up the response time. PostgreSQL offers plenty of solutions for that such as different types of indexes, parallel queries and so on. But since the 9.3 version, PostgreSQL also provides a nice feature: the materialized views. Easy to setup and maintain, they are often the best choice when it comes to caching a resultset. In this talk you will learn how to get the most of materialized views, understand their behaviour and then know how to use them wisely. https://www.postgresql.eu/events/pgdayparis2019/schedule/session/2398-dont-forget-the-materialized-views/
Watch
Breaking PostgreSQL at Scale — Christophe Pettus
Database systems don't just slow down in a clear, linear way. They reach a certain point and start failing, often very suddenly and surprisingly. This talk is about some of the most common scaling "discontinuities" in PostgreSQL, and how to plan for them and mitigate them. Why is SERIAL a bad primary key on high-insert-rate tables? What happens when autovacuum can't keep up? How do you know you don't have enough memory for your queries? What happens when a query that worked just fine before suddenly has a horrible plan? Drawn from real-life examples, we'll go over these and show how to fix them… and avoid them in the first place. https://www.postgresql.eu/events/pgdayparis2019/schedule/session/2369-breaking-postgresql-at-scale/
Watch
PostgreSQL As Data Integration Tool — Stefanie Janine Stölting
Instead of using ETL Tools, which consume tons of memory on their own system, you will learn how to do ETL jobs directly in and with a database. The PostgreSQL implementation of the the standard ISO/IEC 9075-9:2016, Management of External Data (SQL/MED), is also known as Foreign Data Wrapper (FDW). With Foreign Data Wrapper, there is nearly no limit of external data, that you could use directly inside a PostgreSQL database. The talk will walk you through the definition of Foreign Data Wrapper as implemented in PostgreSQL. In the second part of the talk you will see how this technology does work shown by examples with several data sources. https://www.postgresql.eu/events/pgdayparis2019/schedule/session/2349-postgresql-as-data-integration-tool/
Watch
Bitemporality in PostgreSQL: Update Your Data Without Losing Information — Miroslav Šedivý
So you finally have your database model for your application and you fill it in with current data. How do you keep it up to date? While INSERT may still be transparent, UPDATE and DELETE will overwrite your previous data, so you won't be able to reproduce them. Cloning the whole huge content for each minor update is not an option. For rich and complex data about hundreds of thousands of power generators in Germany and worldwide, I built a model using range data types in recent PostgreSQL which allows me to insert, update and delete data while granting the full access to the whole state of the database at any historical moment. I'll present a very simplified version of the database so the audience will be immediately able to apply it for their cases. I'll also show a few tricks in Python and Psycopg2 that will allow a whole team to prepare, review, and deploy all revisions to this database without merge conflicts. And I'll give a few ideas on how to retrieve this data efficiently.
Watch
Large Databases, Lots of Servers, on Premises, in the Cloud - Get Them All! — Flavio Gurgel
This talk is an overview of the leboncoin's real infrastructure and how we manage PostgreSQL to be webscale as the database of choice of the 5th most accessed web site in France: - handling tens of databases and servers using automation - guaranteeing availability at the network and database levels - distributing charge amongst servers - taking backups of multi-terabyte databases - monitoring and alerting tools - moving data between databases - low to (almost) zero downtime version upgrades - deploying DDL - move to the cloud? When, what and why - the impact of GDPR in database operations - the impact of recent PostgreSQL versions features like logical replication and parallel query - incidents? Well, that happens... - when the NoSQL talk arrives https://www.postgresql.eu/events/pgdayparis2019/schedule/session/2376-large-databases-lots-of-servers-on-premises-on-the-cloud-get-them-all/
Watch
Managing your Tuple Graveyard - Chelsea Dole
When making the leap from "running Postgres" to "running Postgres at scale", managing table bloat is a hurdle which many engineers trip over. In this talk, we discuss everything from Postgres internals to application design on the journey to understanding table bloat, why it occurs, how to manage it, and (best of all) how to avoid tripping over it in the first place.
Watch
PostGIS for Newbies - Elizabeth Garrett Christensen
Calling anyone who loves maps and location data! PostGIS is the open source geospatial extension to PostgreSQL and it's super easy to get started with. This talk is a live demo and walkthrough of the basics of PostGIS. From importing geospatial data from a vector file, writing queries and functions, to getting maps and routes from the database into a web browser. I’ll also show off some of the projects being used in the PostGIS world and what you can build with your newfound knowledge.
Watch
Documentation : Let’s make it better, now, together! - Sarah Haïm-Lubczanski
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.
Watch