EDB Contributions to Postgres 15

June 07, 2022
elephant in room

The first public beta for Postgres was released on May 19, 2022 by the PostgreSQL Global Development Group. The beta signifies that no new features will be added to Postgres 15. This beta, future betas and release candidates will be made available by the PostgreSQL Global Development Group for testing before a production release later in the year.

As always, EDB thanks everyone who has contributed to this great new release in any way! EDB is committed to helping the Community improve Postgres with each release and has made significant contributions to 15 in the following areas.

 

Developer productivity—MERGE SQL command

MERGE is a popular SQL standard clause that can handle INSERT, UPDATE and DELETEs in a single statement. Avoiding multiple PL/SQL statements simplifies SQL scripts for database developers and DBAs. The Postgres implementation conforms to the SQL standard and, therefore, should also help transition database developers of both Microsoft SQL Server and Oracle Database to Postgres. Previously, MERGE statements needed to be entirely rewritten, perhaps using Postgres INSERT .. ON CONFLICT UPDATE syntax. EDB has seen customers who used the MERGE clause so extensively that rewriting was expensive enough to derail migrating to Postgres from commercial databases.

 

Security 

EDB continues to work towards a least privilege model by reducing the number of tasks requiring operators with superuser privileges. Postgres 15 allows granting SET and ALTER SYSTEM privileges on individual configuration basis, for example, creating a role with privileges to set GUCs related to system maintenance that could previously be changed only by superusers. 

Also, logical replication now allows non-superusers to be logical replication subscription owners. The restriction that only a superuser can create a subscription still applies. But now, starting with Postgres 15, ownership of the subscription can be transferred to a low privilege user before enabling that subscription. In practice, this database user would be one who cannot insert, update, delete, truncate, or copy to tables that you do not intend to be modified. Protections are also built in to protect subscription owners from circumventing row-level security policies.

 

Backup and recovery

Postgres 15 adds server-side backup compression, providing new options for taking backups quickly and efficiently. The amount of data that needs to be transferred over the network can be reduced by compressing the backup files on the server side. Along with gzip, Zstandard and LZ4 compression types are available to support multiple use cases: 

  • Zstandard with multiple threads when spare CPU is available and both a strong compression ratio and fast compression time is desired, 
  • LZ4 when only a single thread can be spared and compression speed is more important than compression ratio. 

Whether it is speeding up network transfers from the backup server to remote storage, lowering the time spent compressing backups or reducing your Postgres backups' storage footprint, Postgres 15 has new options to help you out. 

 

And more

EDB staff have also contributed to several miscellaneous enhancements to Postgres 15, including, but not limited to, improvements to the amcheck module, support for custom backup targets, improved foreign key behavior on partition tables and enhancements to logical replication, allowing publications to be restricted to specific columns. 

Many of our staff contribute in numerous other ways besides code contributions, such as holding key positions in the PostgreSQL Global Developer Group and associated non-profits or organizing Postgres community events. EDB separately sponsors a number of worldwide PostgreSQL events like PostgreSQL Conference Europe and PGCon, as well as local Postgres events and meetups. 

 

Read more about some of the ways we contribute to the upstream Postgres ecosystem here.

Share this

More Blogs

PGVector as Embedding Store in PrivateGPT

EDB has a long history of open source contributions, and while we’re best known for our contributions to Postgres, that’s not the only project we contribute to. e.g Barman, CloudNativePG...
June 05, 2024

pgAdmin User Management in Server Mode

pgAdmin can be deployed as a web application by configuring the app to run in server mode. One can check out server deployment on how to run pgAdmin in server...
August 24, 2023

pgAdmin CI/CD

Almost exactly three years ago I wrote a blog on my personal page entitled Testing pgAdmin which went into great detail discussing how we test pgAdmin prior to releases. Back...
August 24, 2023