<?xml version='1.0' encoding='utf-8'?>
<schedule><version>Firefly</version><conference><title>PGConf NYC 2023</title><start>2023-10-03</start><end>2023-10-05</end><days>3</days><baseurl>https://postgresql.us/events/pgconfnyc2023/schedule/</baseurl></conference><day date="2023-10-03"><room name="Other"><event id="1422"><start>08:30</start><duration>01:00</duration><room>Other</room><title>🥐 Breakfast &amp; Registration 🎟</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1422/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1423"><start>09:30</start><duration>00:20</duration><room>The Forum</room><title>🎉 Welcome to PGConf NYC 2023! 🎉</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1423/</url><track>PGConf NYC 2023</track><persons><person id="11">Jonathan S. Katz</person><person id="289">Pat Wright</person></persons></event><event id="1424"><start>09:50</start><duration>00:40</duration><room>The Forum</room><title>Keynote: What Goes Around Comes Around... And Around...</title><abstract>Doesn't it feel like there is always a new crop of database management systems (DBMSs) every few years that push the idea that the relational model (RM) is outdated and SQL is dying? Proponents of vector databases have recently taken up this mantle fueled by interest in AI/ML technologies. Before that, NoSQL and MapReduce users claimed that RM/SQL was insufficient for "webscale" applications. And then, back in the 1990s, the object-oriented database world wanted everyone to switch to their non-RM, non-SQL systems. Database history does not repeat itself, but it indeed does rhyme.

In this talk, I will present the 60-year history of data modeling research and demonstrate why the RM/SQL is the preferred default choice for database applications of any size. All efforts to completely replace the data model or query language have failed. Instead, SQL absorbed the best ideas from these alternative approaches and remains relevant for modern applications.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1424/</url><track>PGConf NYC 2023</track><persons><person id="360">Andy Pavlo</person></persons></event></room><room name="Other"><event id="1425"><start>10:30</start><duration>00:30</duration><room>Other</room><title>☕️ SELECT COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥨</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1425/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1412"><start>11:00</start><duration>00:50</duration><room>The Forum</room><title>Postgres as Personalization Engine</title><abstract>We at Instacart have been running a large scale recommender engine in Postgres. We send trained models metadata and features data to Postgres and do inference inside PG. This cluster being a Postgres cluster works with a workload that is a combination of multiple table joins, full text search and personalized ranking via embeddings. The cluster is self hosted, replicas receive WAL shipped by pgbackrest. The applications can survive primary loss by serving stale data and replica loss by banning individual nodes.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1412/</url><track>PGConf NYC 2023</track><persons><person id="428">Ankit Mittal</person><person id="440">Jonathan Phillips</person></persons></event></room><room name="Club Parlor"><event id="1354"><start>11:00</start><duration>00:50</duration><room>Club Parlor</room><title>Fixing broken plans - Tips, Tricks, and Hints</title><abstract>Many a sleepless night or frantic call with your application leaders can be traced back to your database engine choosing a "bad plan" for a query. In this session we'll share why this happens, how to help Postgres pick a good plan, and ways to get Postgres to pick the plan you want by changing parameters, rewriting queries, and using hints.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1354/</url><track>PGConf NYC 2023</track><persons><person id="408">David Rader</person></persons></event></room><room name="The Hub"><event id="1306"><start>11:00</start><duration>00:50</duration><room>The Hub</room><title>Super-powered data transformation in PostgreSQL</title><abstract>Since December 2015, Eric Wastl has been creating 25 daily coding puzzles each year known as The Advent of Code. In 2022, more than 250,000 developers from around the world worked each day to solve the challenges in a language of their choice, including some members of the PostgreSQL community. I decided to join them, knowing it would challenge my skills, knowledge, and understanding of the database I love.

In this talk I’ll discuss 10 things I learned working through the daily challenges, attempting to use only PostgreSQL and SQL. The talk will start with an overview of the extract, load, and transform (ELT) pattern using built-in functions to work with data regardless of the form. Once loaded, I’ll show multiple ways to chain together PostgreSQL functions and SQL commands to analyze the data and solve puzzles. I’ll demonstrate how CTEs, recursive CTEs, arrays, CROSS JOIN LATERAL, string functions, window functions, CASE statements, and more can work together without any procedural code to transform and query unique datasets.

By the end of this session, you will understand how to approach data challenges differently, using the power of PostgreSQL and SQL to work more effectively. Whether you’re a seasoned professional or still learning your way around PostgreSQL, you’ll leave with at least one new tip to help in your next data puzzle.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1306/</url><track>PGConf NYC 2023</track><persons><person id="300">Ryan Booz</person></persons></event></room><room name="The Library"><event id="1405"><start>11:00</start><duration>00:50</duration><room>The Library</room><title>Choosing a cloud managed database service for PostgreSQL: Why Azure?</title><abstract>Ok so you've decided to develop and run your application in the cloud, using a managed service for PostgreSQL. Now what. How do you pick which cloud database to use? This session covers how customers have been using Azure Services and PostgreSQL on Azure to easily create new applications. Additionally, you have the flexibility to deploy with High Availability and Geo Resiliency in a secure environment. Plus, rich telemetry and intelligent performance allow you to quickly identify issues and take corrective actions.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1405/</url><track>PGConf NYC 2023</track><persons><person id="425">Abinav Rameesh</person><person id="407">Varun Dhawan</person></persons></event></room><room name="The Forum"><event id="1295"><start>12:00</start><duration>00:50</duration><room>The Forum</room><title>The Journey Towards Active-Active Replication in PostgreSQL</title><abstract>The way to distribute data from PostgreSQL has evolved over the past decade, making it simpler to build systems for high availability, move data to other locations, or manage independent shards. Much of this is due to logical replication, which allows users to define exactly how they want to stream data between different databases.

In this talk, I will explore how logical replication has evolved over the past decade. We will explore different use cases for logical replication and how PostgreSQL solves them. I'll also review current and planned features for logical replication, including new and ongoing features such as bidirectional replication, parallel apply of transactions, and DDL replication.

Finally, I will propose a roadmap for logical replication to solve more high availability and scalability problems, and how we can build towards active-active replication.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1295/</url><track>PGConf NYC 2023</track><persons><person id="388">Amit Kapila</person></persons></event></room><room name="Club Parlor"><event id="1410"><start>12:00</start><duration>00:50</duration><room>Club Parlor</room><title>Introduction to Benchmarking With pgbench</title><abstract>Learn the basics of setting up and running repeatable benchmarks with pgbench.
Whether you are benchmarking your first Postgres performance enhancement or simply want to know what you can do with pgbench, this talk will guide you through considerations for the test system and for designing the benchmark itself.
Factors including operating system parameters, filesystem options, Postgres compile options, and your Postgres configuration can all affect benchmark results. Learn how to configure the test system, design a workload, and employ pgbench options which correctly test your desired scenario.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1410/</url><track>PGConf NYC 2023</track><persons><person id="214">Melanie Plageman</person></persons></event></room><room name="The Hub"><event id="1265"><start>12:00</start><duration>00:50</duration><room>The Hub</room><title>Nulls Make Things Easier?</title><abstract>Nulls are a very useful but also very error-prone relational database feature. This talk is designed to help applications developers better manage their use of nulls. It covers the use of nulls in relational databases, with a focus on Postgres behavior. It covers three-value logic, comparing nulls, mapping nulls to strings, indexing nulls, and aggregates.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1265/</url><track>PGConf NYC 2023</track><persons><person id="24">Bruce Momjian</person></persons></event></room><room name="The Library"><event id="1337"><start>12:00</start><duration>00:50</duration><room>The Library</room><title>Working with a PostgreSQL Consultant</title><abstract>Everyone needs a little bit of help sometimes, and an outside PostgreSQL consultant can help overcome knotting problems, and allow your engineering staff to focus on what they do best: running the infrastructure of the business.

But many organizations do not have experience in working with outside technical resources that are not onboarded employees. In this talk, we'll discuss the best way to make use of a consultant so that you get the most effective results from the engagement.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1337/</url><track>PGConf NYC 2023</track><persons><person id="120">Christophe Pettus</person></persons></event></room><room name="Other"><event id="1426"><start>12:50</start><duration>01:10</duration><room>Other</room><title>Lunch Sponsored by AWS</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1426/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1321"><start>14:00</start><duration>00:50</duration><room>The Forum</room><title>Think Like A Postgres!</title><abstract>You're a DBA or Developer and you've been hearing more and more about Postgres and maybe even used it a few times, but aren't sure where to get started to learn more. In this session, I'll teach you the basics of how Postgres works using a copy of the Stack Overflow database ported to Postgres. You'll learn how the Postgres engine stores data in tables and indexes, how it builds execution plans and how to understand those plans using EXPLAIN, as well as how memory, caching (or the lack thereof), and indexes can affect those plans, all using simple printouts representing our tables. This session is perfect for folks who want to enhance their understanding of Postgres internals and how to apply that knowledge when working with queries. Join us and take your PostgreSQL query performance to the next level!</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1321/</url><track>PGConf NYC 2023</track><persons><person id="143">Robert Treat</person></persons></event></room><room name="Club Parlor"><event id="1378"><start>14:00</start><duration>00:50</duration><room>Club Parlor</room><title>The state of JIT in postgres</title><abstract>Just-in-time compilation was first released in PostgreSQL 11 as a way to speed up query execution. It has since been further developed and refined, and can make certain types of queries much faster. There are however a lot of misconceptions around JIT in postgres, this talks aims to address these and much more.

The talk start with a primer about what JIT is, how it works, when it's beneficial and when it can be detrimental to query performance. We will then go on and discuss how to tailor queries to make use of JIT. Lastly, we will look at exciting work which is being done to make JIT query execution even faster.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1378/</url><track>PGConf NYC 2023</track><persons><person id="420">Daniel Gustafsson</person></persons></event></room><room name="The Hub"><event id="1297"><start>14:00</start><duration>00:50</duration><room>The Hub</room><title>Highly Complex Database Migration from DB2 to Postgres on AWS</title><abstract>Highly Complex Database Migration from DB2 to Postgres on AWS

-- Details in few days</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1297/</url><track>PGConf NYC 2023</track><persons><person id="390">Nemi Agrawal</person></persons></event></room><room name="The Library"><event id="1447"><start>14:00</start><duration>00:50</duration><room>The Library</room><title>Supercharge your Postgres with the help of extensions</title><abstract>Postgres has long been recognized as the leading open-source database for transactional use cases. However Postgres is an ideal candidate for many, many more use cases thanks to its flexible extension framework. From the most traditional database use cases like analytics, document databases, and time series - to the most eclectic, like machine learning, message queues and more. Can you forget your database zoo, and rely on our beloved Postgres?


Our answer is “Yes!”. In this talk, we will review the Postgres extension ecosystem, and we will then deep dive into a selection of use cases which can be powered by a specific Postgres recipe.  We will recommend a set of extensions and configurations for each use case. Beyond these new use cases, this talk aims to help you understand and realize the full potential of Postgres.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1447/</url><track>PGConf NYC 2023</track><persons><person id="426">Samay Sharma</person></persons></event></room><room name="The Forum"><event id="1332"><start>15:00</start><duration>00:50</duration><room>The Forum</room><title>What's new in PostgreSQL 16</title><abstract>PostgreSQL 16 should be released or very close to being released at this time. This talk will take a quick look at many of the new features on this latest version of PostgreSQL.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1332/</url><track>PGConf NYC 2023</track><persons><person id="38">Magnus Hagander</person></persons></event></room><room name="Club Parlor"><event id="1235"><start>15:00</start><duration>00:50</duration><room>Club Parlor</room><title>Weathering the Cloud Storm: PostgreSQL High Availability Options</title><abstract>As the demand for reliable and continuous data access intensifies, it's important to understand the high availability (HA) options for PostgreSQL deployments in the cloud.

In this talk, we'll examine various PostgreSQL HA options starting with the traditional solutions and ending with the latest cloud-based techniques. Join us as we conquer the stormy challenges of the cloud and uncover the ways to keep your PostgreSQL databases running—even in the face of the most adverse weather.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1235/</url><track>PGConf NYC 2023</track><persons><person id="326">Denis Magda</person></persons></event></room><room name="The Hub"><event id="1387"><start>15:00</start><duration>00:50</duration><room>The Hub</room><title>PostgreSQL Query Performance Insights v2</title><abstract>This talk had excellent attendance in 2021. So, here it is with more and better insights.

Understanding query performance patterns are the foundation for query performance tuning. It dictates how a database cluster evolves. There are direct and indirect cost connotations as well.

With improved observability and using the right tools, you can get the best out of your existing setup and ensure that it can handle not only the average load profile but peak load. We'll see how tools like pg_stat_activity, pg_stat_statements, auto_explain, pgBadger, and pg_stat_monitor can deliver a complete picture to help measure, analyse and optimise your queries and database system.

Beyond these tools, what to consider when building a performance configuration tool with a look at the PG configuration advisor tool.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1387/</url><track>PGConf NYC 2023</track><persons><person id="305">Hamid Quddus Akhtar</person></persons></event></room><room name="The Library"><event id="1448"><start>15:00</start><duration>00:50</duration><room>The Library</room><title>Scaling Complex PostgreSQL Queries: The Good, the Bad, and the Ugly</title><abstract>The session covers the various methods PostgreSQL uses for parallelism to handle complex and analytical queries, the pitfalls to avoid or watch out for, and how Epsio can help with some use cases.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1448/</url><track>PGConf NYC 2023</track><persons><person id="398">Gilad Kleinman</person></persons></event></room><room name="Other"><event id="1427"><start>15:50</start><duration>00:40</duration><room>Other</room><title>☕️ SELECT COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥨</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1427/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1355"><start>16:30</start><duration>00:50</duration><room>The Forum</room><title>A journey to 7000 instances</title><abstract>Having used mostly proprietary RDBMS for a long time, Société Générale decided to switch to PostgreSQL as its go-to database in 2017 to accelerate its digital transformation. We are happy to share that PostgreSQL is now our most used database.

We will share some history of this transition, some of the tools we used, some technical and not so technical challenges we faced. Setting up our own managed Postgres-as-a-Service offer was instrumental in getting to 7000 on-premises clusters.

The goal is to share some of the lessons we learned along the way so that if your organization chooses to switch to PostgreSQL, you will be better equipped to make this journey smoother.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1355/</url><track>PGConf NYC 2023</track><persons><person id="410">Anthony Nowocien</person></persons></event></room><room name="Club Parlor"><event id="1335"><start>16:30</start><duration>00:50</duration><room>Club Parlor</room><title>Looking It Up: PostgreSQL Indexes</title><abstract>PostgreSQL has a huge range of possible index types above the traditional B-Tree: GiST, GIN, SP-GiST, BRIN, Hash… and some that aren't even part of the core.

When do you use them? What are they good for? How well do they perform? This talk goes over the collection of exotic animals that is PostgreSQL's indexes, along with how to use them properly.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1335/</url><track>PGConf NYC 2023</track><persons><person id="120">Christophe Pettus</person></persons></event></room><room name="The Hub"><event id="1328"><start>16:30</start><duration>00:50</duration><room>The Hub</room><title>Customizing the Wordle Game Experience with PostgreSQL</title><abstract>Discover the endless possibilities of PostgreSQL as a gaming platform by harnessing its ability to customize the Wordle game. Explore how PostgreSQL empowers developers to redefine the game experience through three core entities: 
The available word set. Do we want to allow all words or only popular and well-known ones? Do we want to limit a set to some topic, e.g., IT-slang terms, or geographically limited? Should we restrict a guessing word length to 5 characters, or can we vary? For which languages it's better to use shorter or longer words?
The standard guess-checking function returns yellow and green position marks. But what if we will use another score function, like Levenshtein distance? Or even bigram/trigram positions instead of single characters?
And the move acceptance function. Should it check the guess only against the initial word set? Or allow any word in the target language? Or allow any word restricted by simple regular expression?
Gain insights into curating word dictionaries, enabling support for non-English languages, and implementing innovative gameplay mechanics. With PostgreSQL's advanced features and extensibility, attendees will unlock the potential to create unique and engaging gaming experiences. Join me as we explore the transformative power of PostgreSQL in the world of Wordle.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1328/</url><track>PGConf NYC 2023</track><persons><person id="121">Pavlo Golub</person></persons></event></room><room name="The Library"><event id="1454"><start>16:30</start><duration>00:50</duration><room>The Library</room><title>Develop event-driven applications using Amazon Aurora Serverless v2</title><abstract>Aurora Serverless v2 is an on-demand, autoscaling configuration for Amazon Aurora. In this talk you will get to know the fundamentals/scaling principles of Serverless v2. It covers various use cases along with a demo of Event driven application backed by Aurora Serverless. You will also learn about Aurora Serverless Metering and billing.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1454/</url><track>PGConf NYC 2023</track><persons><person id="356">Chirag Dave</person></persons></event></room><room name="Other"><event id="1428"><start>17:20</start><duration>01:40</duration><room>Other</room><title>Reception</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1428/</url><track>Breaks</track><persons /></event></room></day><day date="2023-10-04"><room name="Other"><event id="1429"><start>08:30</start><duration>01:00</duration><room>Other</room><title>🥐 Breakfast &amp; Registration 🎟</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1429/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1450"><start>09:30</start><duration>00:20</duration><room>The Forum</room><title>All the Postgres Things at Microsoft</title><abstract>Microsoft is investing a lot in Postgres—including in the Postgres core, Citus open source, Patroni, PgBouncer, pgcopydb, pg_cron, &amp; more Postgres extensions. And Microsoft offers two Azure managed services for PostgreSQL, one is regular and one is distributed Postgres built on Citus. In this talk, you’ll get an overview of some of the interesting Microsoft work on Postgres in the last 12 months, with a look at some of the new Postgres 16 features, the latest investments we’re making into Azure, and a sneak peek into a couple of new capabilities we’ll ship later this year.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1450/</url><track>PGConf NYC 2023</track><persons><person id="254">Claire Giordano</person></persons></event><event id="1453"><start>09:50</start><duration>00:20</duration><room>The Forum</room><title>Evolving Logical Replication for critical customer use cases</title><abstract>For many customers PostgreSQL logical replication has gone from a nice to have feature to a critical component in their application design and maintenance of their database. We will talk about how PostgreSQL logical replication has evolved to meet those needs and what are some of the current gaps.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1453/</url><track>PGConf NYC 2023</track><persons><person id="71">Grant McAlister</person></persons></event></room><room name="Other"><event id="1430"><start>10:10</start><duration>00:30</duration><room>Other</room><title>☕️ SELECT COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥨</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1430/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1309"><start>10:40</start><duration>00:50</duration><room>The Forum</room><title>It's Not You, It's Me: Breaking Up with Massive Tables via Partitioning</title><abstract>Similar to memory configurations and Active-Active, when you find yourself Googling "How to partition a Postgres table", you're usually in a tight spot. However, although real-life use cases for partitioning typically start with a large, production table where uptime is critical, most documentation and blogs only cover setting up new partitioned tables -- ignoring the delicate work necessary to migrate safely with minimal downtime. 

This talk seeks to actionably address that knowledge gap by covering how to partition existing production datasets. 

This talk will discuss:
- Basic Postgres partitioning internals
- Choosing between partitioning strategies (with examples)
- Rules of thumb, and when NOT to partition
- Methods of migrating a live, production table to a partitioned table (with examples and demo code)
- Partitioning observability and maintenance</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1309/</url><track>PGConf NYC 2023</track><persons><person id="393">Chelsea Dole</person></persons></event></room><room name="Club Parlor"><event id="1243"><start>10:40</start><duration>00:50</duration><room>Club Parlor</room><title>MERGE() - A Quick Introduction</title><abstract>MERGE() is a powerful function for processing data like transaction logs from point-of-sales systems. It is powerful as it allows you to insert, update, or delete data in one statement instead of using an application that requires numerous round trips between the server and the application to do the same tasks (which is much more resource and time intensive). However, this is not an easy function to learn from reading the manual. This session starts with the basics and builds so that you learn how to use the power of MERGE().</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1243/</url><track>PGConf NYC 2023</track><persons><person id="439">Dave Stokes</person></persons></event></room><room name="The Hub"><event id="1419"><start>10:40</start><duration>00:50</duration><room>The Hub</room><title>A Tour of PostgreSQL's On-Disk Storage</title><abstract>In this session we'll learn about how Postgres stores data on disk, the tradeoffs resulting from the storage design, and the tools we have to introspect on-disk storage. Expect to come away with a working knowledge of tuple layout, heap layout, btree indexes, and where to find specific tables and rows on disk.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1419/</url><track>PGConf NYC 2023</track><persons><person id="107">James Coleman</person></persons></event></room><room name="The Library"><event id="1446"><start>10:40</start><duration>00:50</duration><room>The Library</room><title>Use Cases for Multi-Master Distributed Postgres</title><abstract>Today’s modern applications must be always on, always available and serve a global user base who demand fast response times.  A fully multi-master distributed database architecture is critical for organizations to meet these demands.  In this talk we will explore the core use cases that benefit from deploying PostgreSQL with asynchronous logical replication in a multi-region or even multi-cloud environment.  Learn how issues such slow response times, maintenance or provider downtimes, data storage requirements and throughput can easily be addressed.  You’ll see a live demo of how pgEdge distributed PostgreSQL can seamlessly be deployed to improve data latency and high availability as well as address data residency requirements.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1446/</url><track>PGConf NYC 2023</track><persons><person id="370">Phillip Merrick</person></persons></event></room><room name="The Forum"><event id="1391"><start>11:40</start><duration>00:50</duration><room>The Forum</room><title>The path to using AIO in postgres</title><abstract>For a few years we (Andres Freund, Thomas Munro, Melanie Plageman, David Rowley) have been working towards using asynchronous IO (AIO) and direct IO in Postgres. In this talk I'll describe what using AIO in postgres looks like, what we already have gotten into postgres (e.g. speeding up concurrent COPY by 3x in 16), what we hope to get into postgres 17, and what we hope to achieve longer term.

The goal of using AIO and DIO in postgres is to improve throughput, decrease latency, reduce jitter, reduce double buffering and more.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1391/</url><track>PGConf NYC 2023</track><persons><person id="79">Andres Freund</person></persons></event></room><room name="Club Parlor"><event id="1364"><start>11:40</start><duration>00:50</duration><room>Club Parlor</room><title>JSON and analytics in Postgres using index and columnar.</title><abstract>We want it to be fast, reliable and flexible. We want JSON and we want OLTP with ACID. Can all it work together or we need to choose 2 out of three of our wishes again? What technology can help to speed up the JSON queries? A couple of different approaches for JSON data analytics.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1364/</url><track>PGConf NYC 2023</track><persons><person id="414">Gleb Otochkin</person></persons></event></room><room name="The Hub"><event id="1358"><start>11:40</start><duration>00:50</duration><room>The Hub</room><title>Advanced pgBackRest</title><abstract>pgBackRest implements many advanced features but most of them are disabled by default to maintain backward compatibility, conserve system resources, or to provide a fail-safe default. In this talk we will explore advanced options such as multi-processing, asynchronous archiving, alternate compression types, file bundling, block incremental backup, and delta restore. We will examine the benefits of each feature, when you should enable them, and how they work together to enhance the performance and efficiency of pgBackRest.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1358/</url><track>PGConf NYC 2023</track><persons><person id="14">David Steele</person></persons></event></room><room name="The Library"><event id="1449"><start>11:40</start><duration>00:50</duration><room>The Library</room><title>Learn more about replication with Quest SharePlex.</title><abstract>Learn more about replication with Quest SharePlex.   See how one tool can support all of your replication needs, physical or logical and TO or FROM PostgreSQL and other platforms.   SharePlex includes both full schema or selective replication and supports both cloud and non-cloud implementations of PostgreSQL.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1449/</url><track>PGConf NYC 2023</track><persons><person id="329">Clay Jackson</person></persons></event></room><room name="Other"><event id="1431"><start>12:30</start><duration>01:30</duration><room>Other</room><title>Lunch Sponsored by AWS</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1431/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1402"><start>14:00</start><duration>00:50</duration><room>The Forum</room><title>Supporting GenAI workloads in PostgreSQL</title><abstract>The integration of embeddings generated using popular large language models (LLMs) with the pgvector open-source extension for PostgreSQL presents a powerful and efficient solution for optimizing the product catalog similarity search experience. By using pre-trained ML models and vector embeddings, businesses can enhance the accuracy and speed of similarity searches, personalized recommendations, question and answering bots, and fraud detection, which ultimately leads to improved user satisfaction and a more personalized experience. This session explores implementing vector databases in PostgreSQL using pgvector.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1402/</url><track>PGConf NYC 2023</track><persons><person id="332">Shayon Sanyal</person></persons></event></room><room name="Club Parlor"><event id="1274"><start>14:00</start><duration>00:50</duration><room>Club Parlor</room><title>Recovering lost timestamps with Forbidden Knowledge</title><abstract>- Upon joining a new company, I discovered they rarely tracked when records were inserted or updated. Most tables didn't have a created_at, or updated_at column. Those that did often were missing data. Five years the company ran like this. 
- Could this data be recovered? Maybe there was some hidden way Postgresql was storing timestamps, or perhaps in a forgotten log file. 
- It turns out, each row in Postgresql has a secret column. From this, you can build a model of when rows were updated and created. 
- Every Postgresql expert I spoke with told me this was the worst idea they ever heard, and they are correct. 
- In this talk, I will go over system columns, MVCC, transaction ids, and how I was able to recover timestamps.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1274/</url><track>PGConf NYC 2023</track><persons><person id="275">Evan</person></persons></event></room><room name="The Hub"><event id="1365"><start>14:00</start><duration>00:50</duration><room>The Hub</room><title>working with open source Greenplum - distributing data to scale out</title><abstract>What’s the best solution to handle 100TB of data and keep it growing with Postgres? we need a scale-out solution! 
We will present how we use open source greenplum maximizing the use of postgres, reducing our query and ingestion times by 80% compare with a scale-up solution.
Providing our users ways to analyse vast amounts of data, in our case, stars catalogues, scientists can consume them to write the most interesting scientific papers to be published in relevant science journals and to understand why the Universe works the way it does.
We will review: our configuration, tests performed, future work and lessons learnt in a "universal" project</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1365/</url><track>PGConf NYC 2023</track><persons><person id="438">Joaquim Oliveira</person><person id="416">Pilar de Teodoro</person></persons></event></room><room name="The Library"><event id="1445"><start>14:00</start><duration>00:50</duration><room>The Library</room><title>Quantum Safe Postgres</title><abstract>We will provide an understanding of what it means to be quantum safe, and explore the methods of encryption.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1445/</url><track>PGConf NYC 2023</track><persons><person id="349">Tim Steward</person></persons></event></room><room name="The Forum"><event id="1273"><start>15:00</start><duration>00:50</duration><room>The Forum</room><title>Fleet Operations: Changing the engine in mid-air.</title><abstract>PaaS providers are meant to take the headache out of running mission-critical services, like PostgreSQL. With this small loss of control comes significant trust and the expectation that your provider is able to keep your datastores running 24/7 without fail. Getting PostgreSQL up and running may feel like magic but what you see is only the tip of the iceberg. This talk is going to show you just how deep the iceberg goes and what lessons we learned along the way.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1273/</url><track>PGConf NYC 2023</track><persons><person id="384">Jon Daniel</person></persons></event></room><room name="Club Parlor"><event id="1277"><start>15:00</start><duration>00:50</duration><room>Club Parlor</room><title>Call Me Back, Postgres</title><abstract>PostgreSQL’s’ trigger functionality provides an easy way to implement callbacks at the database level. This becomes a powerful tool when you need to quickly and reliably execute additional transactions or statements as a result of an initial transaction. Coupled with Postgres’s listen and notify features, you can also extend that power out to a web application or other service that can process additional business logic such as syncing data between systems.

This talk will walk through Postgres’ native trigger, listen, and notify features and illustrate some practical use cases for these functions. We will then explore how you might leverage these functions to design a complex data syncing architecture with another application. Finally, we’ll conclude with a case study about how we supported a client in rebuilding their digital architecture to connect three disparate data stores by using Postgres triggers, listen and notify.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1277/</url><track>PGConf NYC 2023</track><persons><person id="385">Ifat Ribon</person></persons></event></room><room name="The Hub"><event id="1240"><start>15:00</start><duration>00:50</duration><room>The Hub</room><title>Know the less known about PostgreSQL</title><abstract>When you start using PostgreSQL, you start hearing some words: LSN, relfrozenxid, cluster, ctid, cmin, cmax, multixactid, age, datfrozenxid, etc.

Have you ever wondered what they are, what they are used for, and how to take care of them?

In this talk, I'll give details of these less known things in PostgreSQL.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1240/</url><track>PGConf NYC 2023</track><persons><person id="179">Devrim Gündüz</person></persons></event></room><room name="The Library"><event id="1451"><start>15:00</start><duration>00:50</duration><room>The Library</room><title>Upgrading and Testing Rollback of a Multi-TB Amazon Aurora PostgreSQL Database Using Blue-Green Deployment</title><abstract>Upgrading large, multi-TB databases to higher versions require a lot of planning and testing. There are several methods you can use to perform Amazon Aurora PostgreSQL upgrades. In this presentation, you’ll learn how to harness Amazon Aurora PostgreSQL-Compatible Edition capabilities to implement a blue/green deployment approach.

This method uses Amazon Aurora’s rapid database cloning feature, which facilitates efficient handling of database modifications during the deployment process. You’ll also be equipped with the lessons learned and best practices captured from real-world scenarios, as well as issues faced during the upgrade.

 

Key Takeaways:

Understanding the methods to perform Amazon Aurora PostgreSQL upgrades.
Learning about Amazon Aurora fast database cloning.
Walking through the step-by-step process of upgrading a multi-TB database with near zero downtime.
Discovering best practices and lessons learned from real-world case studies.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1451/</url><track>PGConf NYC 2023</track><persons><person id="350">Shailesh Rangani</person></persons></event></room><room name="Other"><event id="1432"><start>16:00</start><duration>00:30</duration><room>Other</room><title>☕️ SELECT COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥨</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1432/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1435"><start>16:30</start><duration>01:00</duration><room>The Forum</room><title>⚡️ Lightning Talks! ⚡️</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1435/</url><track>PGConf NYC 2023</track><persons><person id="11">Jonathan S. Katz</person></persons></event></room></day><day date="2023-10-05"><room name="Other"><event id="1439"><start>09:30</start><duration>01:10</duration><room>Other</room><title>☕️ SELECT BREAKFAST, COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥐</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1439/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1327"><start>10:40</start><duration>00:50</duration><room>The Forum</room><title>How PostgreSQL Can Help You Enforce Best Practices</title><abstract>Many systems have commonalities that lend themselves to similar best practices for administration and maintenance. Database systems in particular are complex and have many correctness, performance, and security considerations. In this talk, we will discuss PostgreSQL best practices, and how these translate to best practices in general.

We will go over:

* Using the proper data types
* Controlling parallelization &amp; transaction rate
* How locking affects performance
* Home-brewing Distributed Systems (don't)
* Choosing the right encoding
* Configuring for production usage
* Tracking resource usage
* Security good practices
* High Availability good practices
* The importance of upgrading &amp; how to do it right</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1327/</url><track>PGConf NYC 2023</track><persons><person id="369">Jimmy Angelakos</person></persons></event></room><room name="Club Parlor"><event id="1373"><start>10:40</start><duration>00:50</duration><room>Club Parlor</room><title>Map of Amazing Postgres Extensions You Might Not Know About</title><abstract>Postgres extensions are everywhere—and are found in oh so many Postgres deployments. You might even say that PG extensions are the tools that make your Postgres toolbox complete.

But navigating the world of PG extensions can be a challenge. Where do you find all the extensions? Which Postgres extensions can make your life better and save you time? Which ones should you consider using? Can you trust them? 

This talk walks you through the set of amazing Postgres extensions I’ve learned about in my 6+ years working in the world of Postgres: what they are, why care, and where to find them. You’ll learn about popular extensions like pg_stat_statements, PostGIS, postgres_fdw, and Citus—as well as lesser-known extensions that are super handy too. 

You’ll get a detour into the history of Postgres extensions and how they came to be, and a glimpse into the future of Postgres extensions (spoiler: will they be built with Rust?) By the end of this talk, you’ll have a “map” of the world of amazing Postgres extensions—plus a legend and compass for figuring out which extensions can help you and your application.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1373/</url><track>PGConf NYC 2023</track><persons><person id="254">Claire Giordano</person></persons></event></room><room name="The Hub"><event id="1394"><start>10:40</start><duration>00:50</duration><room>The Hub</room><title>The Various Methods for Creating Incremental Materialized Views in Postgres</title><abstract>The talk will begin with a brief explanation of materialized views and their role in Postgres, as well as the limitations of traditional materialized views and the challenges associated with maintaining them.

Next, we will discuss the concept of Incremental View Maintenance (IVM), including how it works and its advantages in terms of performance, resource utilization, and data freshness. We will cover various methods for implementing IVM, including triggers, extensions (such as PG_IVM), TLEs, and application code.

We will then examine how streaming can be utilized to create real incremental materialized views, including how different SQL operators can be maintained in real time when data changes, as well as the challenges this approach presents.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1394/</url><track>PGConf NYC 2023</track><persons><person id="379">Maor Kern</person></persons></event></room><room name="The Forum"><event id="1255"><start>11:40</start><duration>00:50</duration><room>The Forum</room><title>Practical Memory Tuning for PostgreSQL</title><abstract>This talk will first introduce the different ways PostgreSQL can use memory, from the operating system, to cluster wide and then into per session and per operation. From there we will dive into specifics around different PostgreSQL parameters like shared_buffers, work_mem, maintenance_work_mem and how to set them depending on your workload. The presentation will also cover some of the lesser known ways that PostgreSQL will consume memory, how you can diagnose what is using the memory in your PostgreSQL cluster and possible ways to avoid running out of memory. Additionally the talk we will cover the importance of hugepages for not only performance but memory usage on large memory systems.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1255/</url><track>PGConf NYC 2023</track><persons><person id="71">Grant McAlister</person></persons></event></room><room name="Club Parlor"><event id="1403"><start>11:40</start><duration>00:50</duration><room>Club Parlor</room><title>Even children can work with Postgres</title><abstract>We usually discuss deep technical and very complicated issues during the conference talks. But when we return to work, we often need to answer primitive questions or fix obvious misprints in the queries of our inexperienced colleagues. Can we delegate these tasks to someone else? Yes, we can, and the best candidate is AI. Moreover, AI can be your assistant as well.

Let's take a look at what kind of tasks can be managed by artificial intelligence. At DBeaver we built an integration with Open AI a few months ago, and we are ready to share the real experience of our users. 

- How can you start to work with AI for querying?
- What are the limitations?
- Is it safe?
- How good AI for Postgres? 

We'll go through all of these questions and even more during the session.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1403/</url><track>PGConf NYC 2023</track><persons><person id="402">Tatiana Krupenya</person></persons></event></room><room name="The Hub"><event id="1296"><start>11:40</start><duration>00:50</duration><room>The Hub</room><title>Building a Better JavaScript Postgres Language Extension</title><abstract>There already exists a JavaScript language extension for Postgres: PLV8.

This talk takes a look at PLV8, where it shines, where it fails, and why a replacement was needed.

Talk to range from where an extension can fail, technically and in a community, how to help language extensions succeed, and the technical aspects of welding a language into Postgres.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1296/</url><track>PGConf NYC 2023</track><persons><person id="389">Jerry Sievert</person></persons></event></room><room name="Other"><event id="1440"><start>12:30</start><duration>01:30</duration><room>Other</room><title>Lunch Sponsored by AWS</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1440/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1314"><start>14:00</start><duration>00:50</duration><room>The Forum</room><title>Scaling PostgreSQL for High-Traffic Applications: Architectural Patterns and Best Practices</title><abstract>In today's digital landscape, high-traffic applications demand robust and scalable database solutions. PostgreSQL, with its rich feature set and extensibility, is an excellent choice for such applications. This talk will delve into the intricacies of scaling PostgreSQL to handle the challenges posed by high-traffic workloads. We will explore architectural patterns and best practices that can empower your applications to handle increasing user demands without compromising on performance or data integrity.
During this session, we will discuss various strategies for scaling PostgreSQL, including horizontal and vertical scaling, sharding, replication, and connection pooling. We will delve into the pros and cons of each approach and explore real-world use cases where these techniques have been successfully employed. Additionally, we will explore advanced caching strategies, query optimization techniques, and hardware considerations that can further enhance the performance and scalability of your PostgreSQL deployments.
By attending this session, you will gain valuable insights into the world of scaling PostgreSQL for high-traffic applications. Whether you are a developer, architect, or database administrator, this talk will equip you with the knowledge and best practices necessary to design and implement a scalable and performant database architecture for your mission-critical applications. Join us to unlock the power of PostgreSQL and ensure your applications can handle the demands of the modern digital landscape with ease.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1314/</url><track>PGConf NYC 2023</track><persons><person id="28">Vibhor Kumar</person></persons></event></room><room name="Club Parlor"><event id="1359"><start>14:00</start><duration>00:50</duration><room>Club Parlor</room><title>The future of connection pooling: PgBouncer or something else?</title><abstract>Postgres its connection pooler landscape is constantly changing: PgBouncer now supports named prepared statements in transaction pooling mode! New connection poolers with other fancy features like sharding and clustering are popping up too. So, now is a good time to reconsider your choice of connection pooler. 

But do you really need to switch and if so which pooler do you choose? 

- Simply the pooler already provided by the Postgres client library for your programming language of choice? 
- The tried and tested PgBouncer?
- Or, one of the new kids on the block, like Odyssey, PgCat, or Supavisor?

In this talk you'll learn: 

1. How some of the major new PgBouncer features work and how these features can be useful to you. The new named prepared statement functionality will be covered in detail.
2. What the differentiating factors are between PgBouncer, Odyssey, PgCat, and Supavisor. So you can decide for yourself which of these is best for you.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1359/</url><track>PGConf NYC 2023</track><persons><person id="413">Jelte Fennema-Nio</person></persons></event></room><room name="The Hub"><event id="1381"><start>14:00</start><duration>00:50</duration><room>The Hub</room><title>Trusted Language Extension for PostgreSQL</title><abstract>Do you have a need to add your own extensions to PostgreSQL but don't want to write them in C? Are you using AWS managed databases and have a need to write a custom extension (but don't have the development cycles to write and open source a new PostgreSQL extension from scratch? 

In this talk, we'll explore solutions to these challenges using using "Trusted Language Extensions" for PostgreSQL, leveraging trusted PostgreSQL languages, such as PL/pgSQL, Perl, and Rust. We'll conclude with a demo of Trusted Language Extensions using managed PostgreSQL.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1381/</url><track>PGConf NYC 2023</track><persons><person id="328">Peter Celentano</person><person id="351">Sukhpreet Kaur Bedi</person></persons></event></room><room name="The Forum"><event id="1316"><start>15:00</start><duration>00:50</duration><room>The Forum</room><title>Lessons Learned: Extending Postgres to its Limits</title><abstract>Hooks. APIs. Extensions. Oh, my! In this immersive session, we cover real-world experiences faced when pushing PostgreSQL's inherent extensibility to its limits. Specifically, we'll cover our performance-driven goals, how we navigated challenges encountered, and explore some innovative workarounds. Finally, we'll examine the potential future of PostgreSQL extensibility as we discuss desired features based on our firsthand experiences. This session is a must-attend for developers seeking actionable knowledge and a deeper understanding of PostgreSQL's extensibility in practice.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1316/</url><track>PGConf NYC 2023</track><persons><person id="442">Curt Kolovson</person><person id="382">Jonah H. Harris</person></persons></event></room><room name="Club Parlor"><event id="1275"><start>15:00</start><duration>00:50</duration><room>Club Parlor</room><title>Avoid Angering the PostgreSQL Elder Gods</title><abstract>One of the most important administrative tasks for a PostgreSQL DBA is keeping an eye out for Transaction ID Exhaustion, more commonly known as "Wraparound". Like the Lovecraftian elder gods, most users will rarely, if ever, encounter it. But if you do, it's going to be a bad time. This metric is one of the most critical to monitor for since not accounting for it can lead to a full shutdown of the database for extended maintenance periods. Unfortunately it is something you may not run into until your production systems have been running for years and it's no longer easy to have long outages.

This talk will briefly go over the concept of transaction IDs, but will mostly be concentrating on monitoring for the exhaustion event and actions to take to prevent it. Since this activity is tightly tied to the tuning of autovacuum, it also has a direct relation to methods that can help prevent the awakening of another sleeping giant, table and index bloat. Keeping bloat under control is critical to peak query performance and maximizing the use of available storage.</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1275/</url><track>PGConf NYC 2023</track><persons><person id="52">Keith Fiske</person></persons></event></room><room name="The Hub"><event id="1329"><start>15:00</start><duration>00:50</duration><room>The Hub</room><title>Bi-Directional Logical Replication in PostgreSQL: Best things to do (sarcasm)</title><abstract>So you're about to start working on a multi-active PostgreSQL database, have you thought yet about how your application and DBAs need to interact with this cluster? 
Should you use sequences as primary keys without worrying about any offsets? 
Should you update your schema often and not care if it does not match between nodes?</abstract><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1329/</url><track>PGConf NYC 2023</track><persons><person id="400">Cady Motyka</person></persons></event></room><room name="Other"><event id="1441"><start>15:50</start><duration>00:15</duration><room>Other</room><title>☕️ SELECT COFFEE FROM EVENTS WHERE HOST = ‘MICROSOFT’ 🥨</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1441/</url><track>Breaks</track><persons /></event></room><room name="The Forum"><event id="1442"><start>16:05</start><duration>00:10</duration><room>The Forum</room><title>🥲 Closing 👋</title><abstract /><url>https://postgresql.us/events/pgconfnyc2023/schedule/session/1442/</url><track>PGConf NYC 2023</track><persons><person id="11">Jonathan S. Katz</person><person id="289">Pat Wright</person></persons></event></room></day></schedule>