Citus BlogCitus Blog

Thoughts about the Citus database—as well as PostgreSQL, sharding, distributed databases, and other open source extensions to Postgres.

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

The latest episode of Path To Citus Con—the monthly podcast for developers who love Postgres—is now out. This episode featured guests Lukas Fittl (founder of pganalyze) and Rob Treat (an early Circonus developer) on the topic “My Journey into Postgres Monitoring” along with co-hosts Claire Giordano and Pino de Candia.

Have you ever asked yourself: “Why is my query so slow?” Or had to figure out which query is slowing things down? Or why your database server is at 90% CPU? According to Lukas, you might find these and many more answers by reviewing your error logs.

If you’re running Postgres on a managed service, what kinds of things do you need to monitor & optimize for? Versus what will your cloud service provider do? There is a discussion on this as well as a segue onto monitoring vs. observability: what’s the difference?

Keep reading

The topic of this month’s PGSQL Phriday #014 community blogging event—where people from different companies and different countries all blog about the same topic on the same day—is PostgreSQL Events. Big thanks to Pavlo Golub for organizing this month's PGSQL Phriday.

Deciding what event to blog about was a bit of a challenge—there are so many Postgres events worth shining a light on! Top of mind at this moment are PGConf EU which will happen in Prague in December—and the Path To Citus Con monthly podcast that I co-host for developers who love Postgres.

So what Postgres event did I choose for this PGSQL Phriday post?

I thought y’all might appreciate this “Illustrated Guide” to my Postgres experience at the PASS Data Community Summit 2023 which happened in Seattle, WA on November 14-17. Let’s dive in.

Keep reading

Did you know you can solve most of the puzzles in Advent of Code with SQL? In this episode of the Path To Citus Con podcast for developers who love Postgres, guests Dimitri Fontaine and Vik Fearing join co-hosts Claire Giordano and Pino de Candia to explore whether you can (or should) solve every data problem in SQL.

Learning SQL requires practice, just like any other skill. Dimitri will tell you why being lazy might just be a good reason to learn SQL. And how it can make your life easier and more efficient.

If you’re a fan of relational databases, you might have wondered how to pronounce the acronym SQL. Or maybe you’ve been mispronouncing it all along. So pronunciation is discussed too: Is SQL pronounced “ess-que-ell” or “sequel”? Vik, who is a member of the SQL Standard committee, has the answer to this question.

Keep reading
Marco Slot

Making PostgreSQL tick: New features in pg_cron

Written byBy Marco Slot | October 26, 2023Oct 26, 2023

pg_cron is an open source PostgreSQL extension that provides a cron-based scheduler to periodically run SQL commands. Almost every managed PostgreSQL service supports pg_cron and it has become a standard tool for many PostgreSQL users. Since Citus has been my full-time job, pg_cron has always been a side project for me, and so I tried to architect it for simplicity, reliability, and low maintenance. Of course, with many users there is a long list of feature requests, and with the help of the Postgres community pg_cron keeps becoming more and more capable over time.

We recently added PostgreSQL 16 support (in version 1.6), but perhaps the most exciting feature added to pg_cron in the past year (in version 1.5) is the ability to schedule a job every few seconds. I shunned this feature idea for a while, because (a) it is not something regular cron can do; and (b) any issue in pg_cron would get much more severe if it were to happen every few seconds. However, by now pg_cron is reasonably battle-tested and second-granularity jobs had become the most popular pg_cron feature request by far.

Keep reading

Big news in the Postgres world: PostgreSQL 16 was released just over 2 weeks ago. And today we're announcing that Postgres 16 is generally available for production workloads on Azure Cosmos DB for PostgreSQL. That's right, in production: this announcement is not just a preview of Postgres 16 support.

Whether you need to provision a new distributed Postgres cluster in Azure Cosmos DB for PostgreSQL—or upgrade your existing database clusters—Postgres 16 is now an option for you.

And you can use Azure Portal, Bicep or ARM templates, REST APIs, Azure SDKs, or Azure CLI to spin up a new Postgres 16 cluster in Azure Cosmos DB for PostgreSQL, or to upgrade an existing cluster to Postgres 16.

Keep reading
Teresa Giacomini

The Story Behind the Activity Book for Postgres

Written byBy Teresa Giacomini | September 28, 2023Sep 28, 2023

Version 3 of the “Activity Book for Postgres” is hot off the press. And you can get your own copy if you come say hello at the Microsoft booth at the PGConf NYC and PGConf EU conferences in 2023. The Activity Book will also be available at other Postgres meetups and smaller PGDay events that our team attends throughout the year (and it was one of the giveaways at Citus Con: An Event for Postgres earlier this year, too.)

Whether you have kids, or nieces, or nephews—or perhaps you yourself find coloring a useful way to distract your hands while your mind tackles complex problems—you can likely put the book to good use. And who doesn’t like a good bad database joke?

In this post, you’ll find out about the inspiration for the book, as well as the hidden meaning behind each of the pages—and a way to request your own copy.

Keep reading

The new PostgreSQL 16 release is out, packed with exciting improvements and features—and Citus 12.1 brings them to you at scale, within just one week of the PG16 release.

As many of you likely know, Citus is an open source PostgreSQL extension that turns Postgres into a distributed database. Our team started integrating Citus with the PG16 beta and release candidates early-on, so that you could have a new Citus 12.1 release that is compatible with Postgres 16 as quickly as possible after PG16 came out.

There are a lot of good reasons to upgrade to Postgres 16—huge thanks to everyone who contributed into this Postgres release! PG16 highlights include query performance boost with more parallelism; load balancing with multiple hosts in libpq (contributed by my Citus teammate, Jelte Fennema-Nio); I/O monitoring with pg_stat_io; developer experience enhancements; finer-grained options for access control; logical replication from standby servers and other replication improvements, like using btree indexes in the absence of a primary key (contributed by one of my teammates, Onder Kalaci.)

The good news for those of you who care about distributed Postgres: Citus 12.1 is now available and adds support for Postgres 16.

In addition to Postgres 16 support, Citus 12.1 includes enhancements to schema-based sharding, which was recently added to Citus 12.0—and is super useful for multi-tenant SaaS applications.

Keep reading

Page 2 of 32