While my role at Percona is focused on MariaDB, I still have a soft spot for PostgreSQL, so when a spot became available for Postgres Summit US I jumped at the opportunity to attend.
TL;DR; Postgres Summit US is the evolution of PGConf NYC, a conference spanning three days of keynotes and sessions. It features people from the entire community, from individuals and companies that build applications on the database, to those who provide complementary technologies, to hyperscalars. It was fun and I learned a lot.
PostgreSQL is the database that was used for OpenNMS when the project was started in 1999. I remember we caught a lot of flak from that choice because at the time most people were using MySQL. I feel a little vindicated in that Postgres has only grown in popularity, and many view it as the default choice when building applications these days.
The Postgres Summit US grew out of Postgres Conf NY in order to bring together Postgres users throughout the US. Percona was a sponsor of the conference and I also got involved because of Mila Zhou, a volunteer with the organization who was also a teammate when I worked at AWS.

My conference actually started Tuesday night when Mila invited me to join a speaker/volunteer event held at the Datadog office in the New York Times building.
![]() |
![]() |
While I prefer working from home to going into an office, the offices were quite nice with amazing city views.

The conference officially started off on Wednesday and was kicked off by Chelsea Dole.

She talked about the evolution of PGConf NYC into a nationwide summit, and then handed it over to Stacey Haysler.

Stacey is the President of the United States PostgreSQL Association (PgUS).
There is no single PostgreSQL organization (compared to, say, the MariaDB Foundation). While I love that distributed nature, it was always a bit frustrating when I was at AWS, since we had to ask separate times for sponsorship of each of the major associations. There was occasional pushback as in “didn’t we just donate to Postgres?”
![]() |
![]() |
Stacey also announced the “Volunteer of the Year” which turned out to be my friend Mila.
I’ve been lucky enough that in many cases over the past decades my job has been closely tied to open source. Mila’s new role at AWS doesn’t have much to do directly with PostgreSQL, yet she cares enough about the project to put in the time. The award was well earned.
There was a little bit more housekeeping to do before the first keynote, which included thanking the sponsors.

It is always nice to see the company I work for as a sponsor of open source events.

The Wednesday sponsor keynote was given by Phillip Merrick. Phillip is a serial entrepreneur who was a co-founder of EnterpriseDB, one of the early commercial PostgreSQL companies. He is currently the CEO of pgEdge which is a company focused on making Postgres highly available and distributed for those applications that need it, such as those involving Generative AI .
He covered three tools aimed at making agentic operations easier on Postgres, all available under the PostgreSQL License (which is OSI-approved).

The first session I went to after the keynote was by Jonathan Katz talking about the features in PostgreSQL 19.

I really like the PostgreSQL development cycle. This is a 14 to 15 month plan that helps determine what new features and fixes should be in the next release, and as a user you can always count on a new version every autumn.

There are a number of cool features coming in version 19. I especially like REPACK CONCURRENTLY. One issue I faced with the database was that when something is deleted the disk space isn’t immediately reclaimed. To do this required a VACUUM, but VACUUM often needs to lock the table, preventing writes. If you need to reclaim a lot of disk space that lock can last for a long time, causing application performance issues. Also, it requires extra disk space during the VACUUM process. Since you tend to force a VACUUM when disk space is low, this can be a problem. REPACK looks like a way around this.

There are also new query plan management features. One thing that took me some time to realize when I started using Postgres was that, while a particular SQL query might work just fine, there is an art to coming up with a query that works and is relatively quick (i.e. inexpensive). On large databases a badly written query can cause load issues.
Converting an SQL statement into an action the database can take is the job of the query planner/optimizer. These new features can help make sure that a particular query plan is optimal.

There are also some new features for logical replication. Logical replication is the act of duplicating data objects (versus physical replication which would be duplicating data at the bit/byte level). There are a number of use cases where data needs to be replicated in order to make it useful, and these features will help make that easier and more robust.
There is a lot more in PostgreSQL 19 and the people I talked to at the conference seemed to be eager to try out the new release.

My next session was given by David Wheeler at ClickHouse. I’m a big ClickHouse fan. It is an open source columnar database that is very useful for analytics.

David talked about features such as pg_stat_ch which allows you to export PostgreSQL performance metrics to ClickHouse for analysis, and pg_clickhouse which lets you execute ClickHouse queries from PostgreSQL, and several other features.

There was then a break for lunch. I’m not sure when this happened, but both at Percona Live and here the food options at lunch were excellent. I’m much more used to the box with a sandwich/chips/fruit than a full buffet with the obligatory sandwiches but also hot meals and salads, along with dessert.
During lunch I enjoyed the hallway track and talked to a number of interesting people, including Sehrope Sarkuni. That led me to attend his talk on maintaining drivers for PostgreSQL. OpenNMS leveraged the Postgres JDBC driver heavily.

He has been involved in the JDBC driver since 2013, and it was interesting to learn about the challenges one has to overcome when writing drivers for a database like Postgres.

Pat Wright kicked off Day Two, which led right into the morning sponsor keynote by Robert Treat from AWS.

Robert is one of those rare people who is both highly competent with technology while also being a great speaker. I’m pretty happy sitting in any session in which he is presenting, no matter the topic.
He talked about the history of Postgres at AWS, including how Amazon moved off of Oracle by 2019. Now I am quick to criticize AWS for what they get wrong with respect to open source, but when it comes to PostgreSQL they get it right.

There is a whole team, lead by the amazing Joe Conway, that is focused solely on upstream. I wish they would do that with more of the projects they commercialize and that other companies would follow suit.
![]() |
![]() |
The first session of the morning was given by Andrew Atkinson. Andrew works for a company called Aura that makes digital picture frames. They have an issue in that a lot of their sales happen around the Christmas holiday, and when you have thousands of people opening their presents and all hitting the application at once it can cause scaling problems. In 2024 this caused the application to freeze for many, impacting customer satisfaction.

They ended up splitting their various tables across multiple databases and then joining the data at the application layer.

It worked well and in 2025 there were minimal issues, resulting in their app hitting number one on various app stores.

I was curious if they had ever considered one of the new “serverless” offerings to deal with scalability, but didn’t get to ask that question.

The next talked suckered me in with the title “Would you still love me if I was a worm (who needed to learn Postgres)?” given by Selena Flannery.
The talk was less about Postgres and more about data modeling. How do you structure your data in order to be able to create useful queries? The example involved various worms, who dug tunnels, ate dirt, and apparently held deep grudges against other worms (for some, the reasons for the grudge being lost in time). It was a cute example and it did a good job of illustrating how to think about modeling data for analysis.
Then came lunch where I spent an inordinate amount of time talking with people. Seriously, I had several conversations that ended up totaling a couple of hours. I want to apologize to the people forced to listen to me, and I also want them to know how much I enjoyed it.

The final session of my day was given by Hari Kiran who talked about how a municipality in India moved applications with 40 million users from Oracle to Postgres.
I love stuff like this. One of my biggest frustrations with the open source community is that we often take sides on which open source solution is better, and we lose focus on the goal of moving people off of proprietary software. If you are running Oracle or SQL Server I would love to get you on an open source solution, be it MariaDB, PostgreSQL, MySQL or another open source database.

In this case a government entity was spending well over US$1 million, annually, for licenses and support, and that was money that could not be spent on the community.
Now I want to stress that free software doesn’t mean free solution. Switching to Postgres doesn’t mean you have zero costs. You still need to spend effort keeping it running and maintained. But in most cases you can get better performance for much less money.

Friday started off with the final sponsor keynote given by Gleb Otochkin and Shane Borden of Google.

They talked about AlloyDB which is a fully managed PostgreSQL cloud service, as well as the issues of running a database in a world with agentic workloads.
Generative AI agents tend to access data in different ways than humans, often driving workload increases in orders of magnitude.
As an aside, I have several acquaintances who are now struggling with dealing with the extra traffic, as their self-hosted instances are ending up with large, unexpected bandwidth bills. This is not a problem that I expect to go away any time soon. Think about it: if you own a small e-commerce site, what is going to happen if a large number of people start using agents to shop? Having to pay for the extra traffic alone will eat into already small margins.
But I digress.
![]() |
![]() |
The next talk I attended was by Tatiana Krupenya, the CEO of DBeaver. DBeaver is an SQL client and database administration tool that works with lots and lots of different types of databases.

I really enjoyed her talk, since the PostgreSQL ecosystem is large and contains multitudes.

It was also nice to see Percona get a mention, as we maintain a (free) PostgreSQL distribution and offer commercial support.

It can get confusing. For example, my old employer AWS offers RDS for PostgreSQL which is a managed instance of the Postgres software, but they also offer Amazon Aurora, which is PostgreSQL-compatible but not built on the Postgres software.

These small differences can cause big impacts if you aren’t aware of them and just expect your code to work.

As I mentioned earlier, I like listening to Robert Treat so I attended his “I Didn’t Know Postgres Could Do That!” session.

While it may have been old news to PostgreSQL veterans, I really learned a lot from the talk. He covered various topics, most dealing with handling conflicts and using COLLATION to make it easier to query data. For example, while it is proper to write the word “jalapeño” with the “ñ” symbol, there can be many cases where it would be written simply “jalepeno”. Computers being computers would consider those two words different, but it is possible to take into account special characters so that they will match.

I think the favorite thing I learned was RETURNING which will print out the rows/field affected by a command. I will be using this a lot in the future.

After lunch I went to a talk about security issues with Postgres that don’t involve SQL injection (grin). It was given by Alex Anto Kizhakeyyepunnil Joy and Kranthi Kiran Burada, both from AWS.

I enjoyed the talk, which focused on areas that can expose database information to bad actors, such as insecure extensions, poorly defined roles, etc.

My next session was focused on TOAST (The Oversized Attribute Storage Technique). It was given by Mohamed Ali from Databricks.

The talk itself was good. TOAST works by moving large values into a special table related by an Object ID (OID). The issue is that the OID is a 32 bit number and in large databases TOAST can exhaust the available OIDs, causing performance impact.

I did have an issue with Mohamed’s slides. They were too dense. More “man pages” than slides. It was overwhelming and there were 56 of them (grin). It distracted from the talk.

The final session of the conference (that I attended) was “I Learned About PostgreSQL From That” given by Shane Borden. I enjoyed the way he presented in the morning keynote so decided to close out my conference with him.

His talk was similar to Robert Treat’s in that he discussed various random aspects of Postgres that could impact performance. It did trigger my PTSD when he was talking about Parameter Adjustments because experimenting with those was a large part of my life in my OpenNMS days.

Pat and Chelsea closed out the conference with a thank you to speakers, sponsors and volunteers.

Then it was time to brave NYC traffic on a Friday night to get to LGA.
I had a great time and strongly recommend the conference if you work with PostgreSQL. I’m not sure if I’ll be able to make it next year (we have other people at Percona focused on Postgres) but I’ll jump if the chance is offered.







