<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGDay UK 2025</title><start>2025-09-09</start><end>2025-09-09</end><days>1</days><baseurl>https://pgday.uk/events/pgdayuk2025/schedule/</baseurl></conference><day date="2025-09-09"><room name="Other"><event id="237"><start>08:00</start><duration>00:45</duration><room>Other</room><title>Registration</title><abstract>Pickup your badge, grab a coffee, and chat with fellow PostgreSQL enthusiasts until it's time to begin!</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/237/</url><track>Breaks</track><persons /></event></room><room name="Auditorium"><event id="238"><start>08:45</start><duration>00:10</duration><room>Auditorium</room><title>Welcome and Opening</title><abstract>Welcome to the conference! In this short session we'll kick off the day with some useful info and maybe a surprise.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/238/</url><track>PGDay UK</track><persons><person id="3">Dave Page</person></persons></event><event id="181"><start>09:00</start><duration>00:50</duration><room>Auditorium</room><title>Future Postgres Challenges</title><abstract>Postgres has been a vibrant project for decades, and probably will be popular for decades to come. However, as with any complex endeavor, challenges are always lurking. This talk explores the many project, competitive, and technical challenges in the future that could derail its success. By exploring these challenges, we will be better able to avoid them.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/181/</url><track>Talks</track><persons><person id="43">Bruce Momjian</person></persons></event><event id="201"><start>10:00</start><duration>00:50</duration><room>Auditorium</room><title>Postgres schema migrations using the expand/contract pattern</title><abstract>Database schema migrations often pose significant challenges to developers, particularly when striving for zero downtime migrations.

There are many things that can go wrong:

- Schema changes breaking client applications
- Unexpected table locking causing downtime
- Human mistakes causing data loss

This talk presents a new approach to schema migrations using an ‘expand/contract’ pattern where multiple versions of a database schema are maintained during the migration, allowing old and new versions of client applications to run side-by-side during an application rollout. Each version of the application sees the version of the database schema with which it is designed to work.

The talks covers the ideas behind this approach, and the challenges to be overcome such as:

- Limitations of existing tools and techniques for Postgres schema migrations.
- The use of Postgres views to present multiple versions of an underlying table.
- Backfilling data between old and new schema versions.
- Techniques to avoid unexpected table locking during migrations.
- Finally we introduce pgroll, an open-source tool that puts these ideas into practice and we show how it can be used to facilitate safe application rollouts across database schema changes.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/201/</url><track>Talks</track><persons><person id="45">Andrew Farries</person></persons></event></room><room name="Other"><event id="239"><start>10:50</start><duration>00:20</duration><room>Other</room><title>Coffee</title><abstract /><url>https://pgday.uk/events/pgdayuk2025/schedule/session/239/</url><track>Breaks</track><persons /></event></room><room name="Auditorium"><event id="231"><start>11:10</start><duration>00:50</duration><room>Auditorium</room><title>PostgreSQL Performance Tuning</title><abstract>Current versions of Postgres have sensible default settings and behavior, that work well for small and medium sized data (until a few hundred GB) or transaction volume and require not a lot of fine-tuning.

Nevertheless, we have multiple times seen and analyzed performance issues our customers encountered. This talk will give an overview over some areas of performance tuning covering the following areas:

 * Memory configuration parameter tuning
 * Storage parameter and checkpoint tuning
 * Autovacuum tuning
 * Introduction to query tuning</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/231/</url><track>Talks</track><persons><person id="89">Michael Banck</person></persons></event><event id="202"><start>12:10</start><duration>00:50</duration><room>Auditorium</room><title>Serving Literary Knowledge as Data: Building and Documenting DH APIs with PostgreSQL</title><abstract>In Digital Humanities (DH), the challenge of making interpretive research—such as literary symbolism, historical analysis, or cultural studies—queryable and accessible can be met through powerful APIs built on relational databases. In this talk, we’ll demonstrate how PostgreSQL can serve as the backbone for creating an API that transforms subjective analysis into structured and queryable data.

Using examples from symbolic analysis of cultural texts, we'll walk through key PostgreSQL features, like jsonb, views, and full-text search, that enable the modeling, querying, and retrieval of interpretive knowledge.

Additionally, we'll cover best practices for generating API documentation using tools such as Swagger and MkDocs, ensuring that your APIs are accessible not just to developers, but also to scholars who may not be familiar with the underlying data models. The session will also address the epistemological implications of exposing interpretive data as a public dataset: How to manage uncertainty, signal multiple interpretations, and what it means to present human analysis in a structured and queryable format.

Viewers will gain practical insights into using PostgreSQL to support Digital Humanities projects and learn how to create and manage APIs that make interpretive knowledge more accessible to a broader audience.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/202/</url><track>Talks</track><persons><person id="79">Marta Palandri</person></persons></event></room><room name="Other"><event id="240"><start>13:00</start><duration>00:40</duration><room>Other</room><title>Lunch</title><abstract /><url>https://pgday.uk/events/pgdayuk2025/schedule/session/240/</url><track>Breaks</track><persons /></event></room><room name="Auditorium"><event id="214"><start>13:45</start><duration>00:20</duration><room>Auditorium</room><title>Explaining PostgreSQL Like I’m Five (or 85)</title><abstract>Ever tried explaining PostgreSQL to someone outside of tech, only to be met with blank stares? Whether you're talking to a business leader or your actual grandpa, translating complex database concepts into everyday language is a crucial skill. In this talk, we’ll break down PostgreSQL using real-world metaphors, think libraries, filing cabinets, and grandma’s recipe book, to explain tables, queries, and indexes without a hint of jargon. But we won’t stop at metaphors. You’ll walk away with three simple frameworks, a repeatable blueprint, for explaining PostgreSQL to non-technical audiences. We’ll also explore how to position PostgreSQL in a business context, helping executives and clients understand why it’s a game-changer for scalability, cost savings, and data-driven decision-making. By the end of the session, you’ll have the tools to bridge the gap between PostgreSQL and decision-makers, and maybe even impress your grandpa at the next family dinner.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/214/</url><track>Talks</track><persons><person id="67">Ellyne Phneah</person></persons></event><event id="232"><start>14:10</start><duration>00:20</duration><room>Auditorium</room><title>PostgreSQL Certification – The PostgreSQL Way</title><abstract>Hey PostgreSQL DBA! Did you know there's now an official PostgreSQL certification? Created by the community – for the community.
In this session, we'll explain how the idea came about, who is behind the Open Alliance for PostgreSQL Education and give you an overview of the available PostgreSQL certifications, their requirements, and the benefits of becoming certified.
Bonus: You will also get an exclusive first look at the certification roadmap!</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/232/</url><track>Talks</track><persons><person id="73">Jan Karremans</person></persons></event><event id="211"><start>14:40</start><duration>00:50</duration><room>Auditorium</room><title>Adaptive Partitioning: Balancing OLTP &amp; OLAP with Citus</title><abstract>Modern applications often need to handle a blend of transactional (OLTP) and analytical (OLAP) queries on the same dataset—posing a unique challenge for traditional database architectures. Citus’s sharding and partitioning features can help strike that balance. In this session, we’ll cover how to design a table layout that gracefully serves high-velocity writes and transactional queries while still enabling fast analytical aggregates. We’ll look into practical partitioning patterns, index strategies, and how to leverage co-location for analytical joins. We’ll also discuss how to monitor workload patterns so you can adjust partition sizes and distribution keys as data or query demands evolve. After this talk, you’ll have a roadmap for building adaptive data models in Postgres with Citus that can fluidly handle both OLTP and OLAP workloads.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/211/</url><track>Talks</track><persons><person id="81">Mehmet Yılmaz</person></persons></event></room><room name="Other"><event id="241"><start>15:30</start><duration>00:20</duration><room>Other</room><title>Tea</title><abstract /><url>https://pgday.uk/events/pgdayuk2025/schedule/session/241/</url><track>Breaks</track><persons /></event></room><room name="Auditorium"><event id="174"><start>15:50</start><duration>00:50</duration><room>Auditorium</room><title>Row-Level Security sucks. Can we make it usable?</title><abstract>Row-Level Security (RLS) in PostgreSQL is awesome, as it allows you to isolate each user or tenant's data, lock it down and default to "deny access"... but it sucks because it makes assumptions about your application that are not applicable in many cases.

Especially if your applications were developed without RLS in mind and you use a single app user to connect to the database, it's impossible to use RLS in any meaningful way.

In this talk, we'll look at possible ways to roll out RLS that can let you take advantage of this powerful feature in the real world.

PostgreSQL Documentation: [Row Security Policies](https://www.postgresql.org/docs/current/ddl-rowsecurity.html)</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/174/</url><track>Talks</track><persons><person id="18">Jimmy Angelakos</person></persons></event><event id="242"><start>16:45</start><duration>00:15</duration><room>Auditorium</room><title>Closing Remarks</title><abstract>Closing remarks of the conference.</abstract><url>https://pgday.uk/events/pgdayuk2025/schedule/session/242/</url><track>PGDay UK</track><persons><person id="3">Dave Page</person></persons></event></room></day></schedule>