PostgreSQL 16 arrives with performance improvements, features and more

PostgreSQL

PostgreSQL, also called Postgres, is an open source, object-oriented relational database management system.

After 11 months of development, The launch of the new version of PostgreSQL 16 was announced, which arrives as a new stable branch of the DBMS and in which updates for five years, until November 2028, In addition, it marks the end of the PostgreSQL 11.x branch, which is the oldest current branch with support, which will end on November 9.

For those who are still unfamiliar with PostgreSQL, you should know that it is also known as Postgres and this is a relational database management system (RDBMS) free, open source, which aims to offer a database based on extensibility and compliance with technical standards.

Main new features of PostgreSQL 16

In this new version of PostgreSQL 16 that is presented, it stands out that Access control tools for logical replication have been expanded. For example, a new predefined function “pg_create_subscription” was added, which allows you to give users the right to create new subscriptions.

Added support for load balancing on the clients side which use the standard libpq library, balancing allows the client to connect to different hosts, which can be selected in a specific or random order. If the host is not available, an attempt is made to connect to another server. Once the connection is established, requests within the session are sent to the selected server.

Besides it optimizations have been made and the work of the query planner has been improved, since parallelization of table join operations » COMPLETELY » and » RIGHT JOIN » is provided

In PostgreSQL 16, we can also find that expanded support for local “Collation” properties, which allows establishing classification rules and comparison methods taking into account the meaning of the characters. By default, it is now compiled with ICU locales instead of the libc locale.

Has improved logical replication performance, since the ability to use processors running simultaneously, in addition to adding the ability to use B-tree indexes for tables without primary keys, which eliminates the need for sequential scanning when searching for records and has also accelerated the initial synchronization of some tables in binary format.

Another improvement that the logical replication mechanism received is that now allows transmitting changes made to the database When adding, deleting, or updating records to another server, it has been expanded with the ability to replicate changes from a backup server.

Also added support for bidirectional logical table replication, allowing changes to two tables on different servers to be synchronized. Replication capabilities added to PostgreSQL 16 allow you to create configurations with multiple active servers (active-active mode), on which you can simultaneously perform INSERT, UPDATE, DELETE operations.

Of the other changes that stand out:

  • Optimized the use of the “RIGHT JOIN” and “OUTER JOIN” operations to find rows that are not in the joined table (“anti-join”).
  • Improved efficiency of the optimization plan for queries that use aggregate functions in combination with DISTINCT or ORDER BY clauses.
  • Incremental sorting is used to speed up SELECT DISTINCT queries.
    The VACUUM operation strategy has been improved to reduce the number of situations that require locking the entire table.
  • On x86 and ARM architectures, vector processor instructions (SIMD) are implemented to accelerate processing ASCII strings, operations on JSON data, and performing array lookups and subtransactions.
  • The “auto_explain” module now includes support for logging values ​​passed to parameterized queries.
  • Improved the accuracy of the request tracking algorithm used in the pg_stat_statements and pg_stat_activity views.
  • The capabilities for monitoring DBMS performance have been expanded. Added a service view » pg_stat_io » with statistics reflecting the load on the I/O system by various backends (background worker, autovacuum, etc.) and objects.
  • A new field has been added to the service view » pg_stat_all_tables » with information about the time of the last scan of a table or index.

finally if you are interested in knowing more about it, you can check the details in the following link


Add as preferred source in Google