Citus Blog

Articles tagged: Postgres

Claire Giordano

Say hello to the Talking Postgres podcast

Written byBy Claire Giordano | July 9, 2024Jul 9, 2024

The TL;DR of this blog post is simple: the “Path To Citus Con” podcast for developers who love Postgres has been renamed—and the new name is Talking Postgres.

And if you’re just hearing about the Talking Postgres podcast for the first time, it is a monthly podcast for developers who love Postgres, with amazing guests from the Postgres world who talk about the human side of Postgres, databases, and open source.

Listening to the Talking Postgres podcast is the next best thing to being in the hallway at a Postgres conference, eavesdropping on other people’s conversations and learning from the experiences of experts. As Floor Drees says, it’s as if you’re sharing a coffee with them.

Past podcast guests include (in order of appearance) some amazing Postgres, database, and open source people such as:

Keep reading

Now in its 3rd year, POSETTE: An Event for Postgres 2024 is not only bigger than previous years but some of my Postgres friends who are speakers tell me the event is even better than past years. Sweet.

Formerly called Citus Con (yes, we did a rename), POSETTE is a free and virtual developer event happening Jun 11-13 that is chock-full of Postgres content—with 4 livestreams, 42 talks, and 44 speakers.

And while POSETTE is organized by the Postgres team here at Microsoft, there is a lot of PG community involvement. For example, 31 of the 44 speakers (~70%) are from outside Microsoft! We have also tried to be quite transparent about the talk selection process used for POSETTE 2024, if you’re curious.

On the schedule, the add to calendar links (in upper right of each livestream's tab) are quite useful for blocking your calendar—and the calendar appointments include a link to where you can watch the livestreams on the POSETTE site.

So what exactly is on the schedule for POSETTE: An Event for Postgres 2024? A lot! When you look at the schedule page, be sure to check out all 4 tabs, so you don’t miss all the unique talks in Livestreams 2, 3, and 4.

Keep reading

As promised in the CFP for POSETTE: An Event for Postgres 2024, all of the talk selection decisions were emailed out on April 17th. Our talk selection work has now concluded, with the possible exception of accepting proposals from the Reserve list.

So what’s next? First I want to thank all of you Postgres people who submitted such amazing talk proposals into the CFP for POSETTE, now in its 3rd year. I was so impressed by the submissions and wish we could have accepted more of them.

And I also want to thank Alicja Kucharczyk, Daniel Gustafsson, and Melanie Plageman from POSETTE’s Talk Selection Team for contributing their time and expertise to collaborate with me to select the talks for this year’s virtual POSETTE event. It’s not easy to carefully read through and review 184 talk proposals—in just 8 days—to come up with the program for an event like #PosetteConf.

That’s right, 184 talk proposals—from 120 unique speakers. (The CFP had a maximum of 4 submissions per speaker.) With just 38 talks to accept this year, that means POSETTE 2024 has a ~20% talk acceptance rate. Bottom line, we had some difficult decisions to make.

Keep reading

PgBouncer is probably the most popular connection pooler for Postgres. It is essentially a transparant middleware between clients and the server. However, it is not %100 transparent in practice. There are a few intricacies that should be taken into account when using PgBouncer. One such consideration is that PgBouncer does not support the use of all session variables in transaction pooling mode. This lack of support is one of the reasons that the most commonly used transaction pooling mode is not fully compatible with Postgres. PgBouncer 1.20.0 started supporting two of the most requested session variables and laid ground work to be able to support all session variables in the future. Let’s break this down further.

The Impact of Pooling Mode on Postgres Compatibility

A connection pooler between the client and the server should ideally be completely transparent such that your application doesn’t have to be aware of the presence of a connection pooler. This is not the case with PgBouncer for all the pooling modes.

There are three different connection pooling modes:

  • Session
  • Transaction
  • Statement

The pooling mode determines how the connections in the pool are assigned to the clients. The way this is done may impose some limitations impacting Postgres compatibility.

In session pooling mode, there is a one-to-one mapping between the client and the pooled server connection throughout the lifetime of the client connection.

Hence session pooling mode is the most compatible mode with Postgres. The clients can use session variables which are Postgres parameters whose values can be set per session.

Keep reading

The tl;dr of this post is that the CFP is open until April 7th 2024 for POSETTE: An Event for Postgres, the free & virtual developer event brought to you with 🧡 by our Postgres team at Microsoft. Formerly called Citus Con.

If you have a Postgres experience, learning, epiphany, story, failure, best practice, “how-to”, collection of tips, lesson about what’s new, or success story to share—not just about the core of Postgres, but about anything in the rich Postgres ecosystem, including extensions—please consider submitting a talk proposal into the CFP for POSETTE.

Whether you are new to public speaking or a regular on the Postgres conference circuit, we’d love to hear your stories about Postgres. Before the CFP deadline of Sunday April 7th at 11:59pm PDT, of course.

Keep reading

When I think about naming something—like a feature or product or even an event—this quote always comes to mind.

What’s in a name? That which we call a rose
By any other name would smell as sweet;

–William Shakespeare

What’s in a name, after all? I’m no expert on Romeo and Juliet, but friends tell me Shakespeare’s point was that names don’t matter. The thing itself is the thing itself, regardless of the name.

My parents named my sister “Helen” at birth but never actually called her that. They always called her by a nickname, “Lyena”. So my sister’s sense of self became intertwined with her nickname: she “felt” like a Lyena. And the only people that ever called her Helen were officious school principals, gate-check agents looking at her passport—and our paternal grandfather. It made her so mad. Whenever my grandfather insisted on calling her Helen, you could almost see the steam coming out of my sister’s ears.

My husband told me about a thing I’ve unconsciously done for years: whenever we drive through Suisun City en route to the mountains, I say the name of the city out loud to myself. Not just once but several times, like I’m chewing on the word. Turns out I really like the way it feels when I say “Suh-soon-si-tee” out loud.

Names carry meaning. They trigger emotions. The phonetic sound of a word affects whether you can remember it. And some words just “roll off the tongue” in a way that makes it easy to say and easy to remember. Bottom line, names matter.

Which is why we decided to give “Citus Con: An Event for Postgres” a new name. People had told us that when they heard the event’s nickname of “Citus Con” they thought it was only about Citus—and did not realize that over 66% of last year’s Citus Con talks were about Postgres, and not about Citus.

Say hello to POSETTE: An Event for Postgres, now in its 3rd year. A free and virtual developer event brought to you with 🧡 by the Postgres team here at Microsoft.

Keep reading

How do you feel when your day doesn’t go as planned? In this episode of the Path To Citus Con, the podcast for developers who love Postgres, guest Derk van Veen joins co-hosts Claire Giordano and Pino de Candia to talk about his journey from Java developer to Postgres specialist.

What makes you feel alive at work? Is it the routine tasks, the predictable outcomes, the stable environment? Or is it the unexpected challenges, the unknown variables, the chaotic situations? If you are like Derk (and I), you thrive on the latter. Maybe you love to jump on tough problems and find beautiful solutions—or maybe you enjoy the thrill of finding the root cause of a slow system or some faulty code. You don't just follow a recipe. You ask questions, explore options, and experiment with different strategies. How do you partition a table? Why do you partition a table? What are the trade-offs of each approach?

Keep reading
David Rowley

What’s new in the Postgres 16 query planner / optimizer

Written byBy David Rowley | February 8, 2024Feb 8, 2024

PostgreSQL 16 introduces quite a few improvements to the query planner and makes many SQL queries run faster than they did on previous versions of PostgreSQL.

If you look at the PG16 release notes, you’ll see some of these planner improvements. But with the volume of changes made in each PostgreSQL release, it’s not possible to provide enough detail about each and every change. So maybe you might need a bit more detail to know what the change is about—before you understand if it’s relevant to you.

In this blog post, assuming you’ve already got a handle on the basics of EXPLAIN, you’ll get a deep dive into the 10 improvements made in the PostgreSQL 16 query planner. For each of the improvements to the PG16 planner (the planner is often called an optimizer in other relational databases), you’ll also get comparisons between PG15 and PG16 planner output—plus examples of what changed, in the form of a self-contained test you can try for yourself.

Keep reading

Episode 11 of Path To Citus Con—the monthly podcast for developers who love Postgres—is now out. This episode featured guests Jelte Fennema-Nio and Marco Slot who joined us (along with co-hosts Claire Giordano and Pino de Candia) to talk about performance benchmarking, specifically benchmarking databases and Postgres.

The official title of Episode 11 with Jelte and Marco is “My Journey into Performance Benchmarking”.

I love hearing how people find themselves doing what they do, so it was fascinating to hear how they got started. One of the most interesting insights was the impact something like benchmarking can have on your career—even if you don’t particularly enjoy it!

Keep reading

The PGConf.dev CFP closes on Monday, January 15 at 11:59pm PST, so if you want to speak at the inaugural PGConf.dev, submit a proposal!

PGConf.dev is the new PostgreSQL Development Conference, the successor to PGCon, a Postgres contribution-focused conference that took place every year in Ottawa. Pronounced "Pee-gee-conf-dot-dev", the inaugural year of PGConf.dev will take place in beautiful Vancouver, Canada, on May 28-31, 2024—with many of the same conference features that made PGCon so great:

  • sessions covering Postgres hacking and contribution
  • full-day Unconference geared toward collaboration and impromptu creativity
  • opportunities to brainstorm with others interested in Postgres development in the “hallway track”

What type of talks is PGConf.dev looking for? The CFP page for PGConf.dev has more details, but, in short: session proposals on all topics related to contributing to Postgres and how to ensure Postgres continues to be the best open source relational database on the planet.

Keep reading

Page 1 of 15