Event schedule

Day 01




Sponsor Keynote

Postgres in the containers era

Álvaro Hernández

Containers are everywhere. Whether in a code test suite, a developer’s laptop, in production or CI/CD pipelines, containers have taken the deployment world by storm. Similarly, Kubernetes adoption is skyrocketing.

How does Postgres fit in this container era? Is Postgres “cloud native”?

The challenges to optimally run Postgres in containers will be explored, including the challenges associated with one of most loved features: extensions.

Containers are here to stay, and they are everywhere. Postgres can and should run optimally on containers. We can catch this train of the present and future, or watch it go. It’s time to act.

Bio Break

Redis vs Postgres: Making the Right Choice at Scale

Chris Travers

With the rise of NoSQL databases, a number of falsehoods have flourished regarding how to choose a database engine. This talk focuses specifically on Redis and PostgreSQL, and why one might choose one or the other.

At small scales, we can often get by thinking of database servers as black boxes, but as we scale, the internals and architecture become more and more important. This talk focuses on behavior of these systems at scale and under load.

In this presentation you will learn:

  • How Redis and PostgreSQL differ architecturally
  • How differences in architecture affect scalability and performance
  • Cases here Redis is the clear winner
  • Cases where PostgreSQL is the clear winner

Additionally, some notes will be offered in terms of where PostgreSQL can improve in to compete with the sorts of workloads that generally favor Redis.


pg_hint_plan - get the right plan without surprises

Franck Pachot

I use pg_hint_plan to learn about the optimizer, to understand the query planner choices, and, sometimes workaround a problem in production. But hinting is not easy. Fixing the exact plan needs more than one hint.

In this live demo session, we will go through understanding and examples of how to use pg_hint_plan in a predictable way.

It is also a good occasion to understand the access paths, join order and methods, and how to read an execution plan.

Leveraging the Power of JSON/JSONB Fields: Key Considerations for Effective Utilization in PostgreSQL

Waltton Morais

PostgreSQL is an incredibly powerful and flexible database, serving numerous use cases.

In this talk, I aim to shed some light on the effective utilization of JSON/JSONB fields in PostgreSQL and highlight key considerations to keep in mind.

  • History of JSON/JSONB in PostgreSQL, initial introduction, JSONB, SQL/JSON standard
  • Common use cases for JSON in PostgreSQL
  • Enforcing schema of JSON/JSONB fields
  • Locks
  • Indexing
  • Data size and TOAST
  • Work in progress of "Pluggable toaster" and impact on JSON/JSONB fields


Production-Grade Postgres on Kubernetes with StackGres

Sebastian Daschner

As organizations move towards containerization and Kubernetes, managing databases such as PostgreSQL can be challenging. Running Postgres in production doesn't come with batteries included, as you need to supplement core Postgres with high availability, connection pooling, backups, monitoring, and more. In a cloud offering, this should be provided, but what about containerized environments like Kubernetes?

In this session, we'll have a look at StackGres, an open-source, production-grade PostgreSQL operator. We'll see StackGres' features and capabilities, and why running a database in Kubernetes with the help of a modern operator makes a lot of sense. Of course watching tech in action is more fun than slides only, so a lot of the talk with be live coding and live demoing!

The experience to migrating SQL Server with AWS Tools and Babelfish.

Alfredo Rodríguez

Many companies decide to migrate your current database services in SQL Server to PostgreSQL. But the question all the time is "How is the best way to migrate to PostgreSQL? ", "What is the risk of migrating to PostgreSQL?", "What time would it take me to migrate all my applications to PostgreSQL?.

AWS Data Migration Service provides a kit of tools that allow us to migrate different databases to RDS or Aurora.

In this talk we recapitulate our experience using the AWS Data Migration Service to migrate a database service from SQL Server to PostgreSQL using Babelfish for connecting the applications using the same SQL Server client driver to migrate schema in PostgreSQL, meanwhile the customer develope your news microservices in PostgreSQL. In this case Babelfish allows us to use the two databases at the same time.


Data Pipeline Plumbing

Chris Engelbert

For the last two decades, the amount of data we store, process, and analyze is ever growing. The last decade shows a higher focus on immediate feedback loop data pipeline, using technologies such as Complex Event Processing (CEP), Stream Processing, and Change Data Capture (CDC). Services such as Kafka or NATS are to be found in almost every new system (at least to some extent).

To build a data pipeline, the number of technologies, frameworks, and platforms are endless. Getting the initial grasp of it all is much harder than expected, but together we can tackle it!

Improving Postgres Cluster HA

Sergio Ostapowicz

Companies usually tends to delay tough jobs like database migrations and upgrades or architecture improvements, leading sometimes to suffer major disasters, data lost, service denial, among others important issues.

In this talk we are going to share how Ongres' team detect the issue and provide a way to improve the Postgres Cluster architecture in a fully automated way.

Day 02


Sponsor Keynote

Moving MongoDB Workloads to Postgres with FerretDB

Peter Farkas

MongoDB, a widely used database, has garnered both love and hate from its users across different industries due to its ease of use. However, it is no longer open source, faces licensing issues, and requires additional resources and knowledge to run. Is there a viable alternative? Can we move existing MongoDB workloads to Postgres without any application-level changes? How can we ensure MongoDB users can continue to use their tools and frameworks?

In this talk, we will discuss the current state of document databases and why there is a need for a new open source standard. We propose that Postgres should serve as the database backend for this standard. We will also demonstrate how to equip your Postgres database with FerretDB, enabling it to handle MongoDB workloads. Finally, we will showcase some MongoDB tools that can be used to manage the database just like if it would be MongoDB.

This use case connects Postgres with a different community and workloads, thereby contributing to its success.

Continuous Aggregates: A use case of Materialized Views

Fabrízio de Royes Mello, Rafia Sabih

In the first part of this talk, we will explore Postgres materialized views, the basics of this feature, its intended usage, caveats, and limitations.

The remainder of this talk will analyze how TimescaleDB has one of the most talked about features: Continuous Aggregates – our approach to incremental materialized views for time series data. The discussion will start with how Continuous Aggregates help numerous users in understanding complex time-series data. Then we will deep dive into how Timescaledb has extended materialized views to the partitioned tables. The talk will keep the audience captivated by the implementation details of refresh for continuous aggregates.

We will conclude the talk with a brief discussion of pain points we encountered throughout this journey.

Understanding WALs files

Orlando Kadaffy

WAL (Write-Ahead Log) files are where all the transactions occurring in the database are recorded before they are written to the heap. There are some questions about them that any postgres admins must know:

  • How postgres manage these files?
  • What can or cannot do with these files?
  • What are the parameters related to them?
  • What information can we get from them and how to use it (backups, pg_walinspect).
  • How to monitor WAL archiving?

We'll respond all these questions and check the most common issues related to WALs files.


Building and Distributing PostgreSQL Extensions with Trunk

Evan Stanton

PostgreSQL extensions are incredibly powerful, adding almost infinite possibilities to the world's most popular open-source database solution. However, very few people actually utilize the full potential of extensions. Extension discovery is difficult, there is no community registry for all extensions, and compiling and installing publicly available extensions is not straightforward.

We've recently announced Trunk, a community-driven project that aims to simplify the process of discovering, building, distributing, and installing PostgreSQL extensions.

This session will guide you through the process of building, publishing, and installing a PostgreSQL extension using the Trunk CLI and Registry. By the end of this session, you will have all the necessary knowledge to distribute extensions of your own and install extensions of your choice!

Chaos testing PostgreSQL with fault injection with Istio Service Mesh

Alessandro Vozza

We will introduce the concepts of service mesh (and in particular, Istio) to the audience and show how to use it to inject faults into a PostgresQL database.

We will also show how to use open source observability tools (OpenTelemetry, Prometheus) to monitor the health of the database, tracing requests for errors and latency; we will introduce the audience to the foundamentals of chaos engineering, service mesh and observability, providing the tools to navigate the complexity of modern distributed, cloud native applications and their data needs.


Run Postgres on CloudNative on premise environments

Sebastiaan Mannem

As I enable Dutch government with running Postgres, I want to tell the story of running Postgres on OpenShift / CEPH on Premise

What we have learned after some migrations from Oracle to PostgreSQL

Anthony Sotolongo

To implement an Oracle to PostgreSQL migrations project we used our methodology/framework to work and after some migration we learned some experiences(tips) on each stage that allow us to understand better some issues, in addition, these items have been helpful to improve the quality of migration more and more.

In this talk, we will show these experiences learned.


PostgreSQL on Kubernetes: Realizing High Availability with PGO

Shinya Kato

Several Kubernetes Operators have been released for operating and managing PostgreSQL on Kubernetes. PGO is one of the PostgreSQL Operators and allows you to easily create a database with features such as HA, backup/restore, and monitoring, which is the hard part of database operations. This presentation will cover the following topics related to high availability.

  • PGO architecture
  • Basic features of PGO
  • Configuration about HA
  • Backup/Restore
  • Disaster recovery
  • Encountered challenges

Day 03

Thu 31ST

PostgreSQL memory usage: where did my memory go?

Frits Hoogland

This session is a deep dive into the OS and PostgreSQL memory usage principles that will help you master the understanding of how this resource is actually used and managed.

You’ll learn how and why memory oversubscription impacts database response time. You’ll see how memory usage gets exaggerated with a growing number of application connections. Lastly, you’ll discover that the OS doesn’t deallocate memory at all times… even when PostgreSQL explicitly asks to take the memory back.

Unconference Unplanning


Track A

Open Source. Bait and switch

Track B

Backup large postgres databases in Docker or K8s. Automation and restore


Track A

Zero Downtime (possible solutions)

Track B

Increasing the reliability of your platform. Human factors


Track A

Let's hack FerretDB and shard it with Citus

Track B

Evolution and demise of storage performance


Track B

Improve developer experience with tools

Track B

Databases in a Kubernetes world