Postgres Pro Shardman provides the most actual PostgreSQL version with some additional patches applied and extensions added. It includes new features developed by Postgres Professional, third-party patches already accepted by the PostgreSQL community for the upcoming PostgreSQL versions, as well as a number of features inherited from Postgres Pro Enterprise. Postgres Pro Shardman users thus have early access to important features and fixes.
Postgres Pro Shardman is a solution for the distributed systems. It provides advantages of a single DB with the guaranteed consistency and a wider range of scaling possibilities. It also requires a higher level of expertise of the system's DBAs, along with the responsible approach to processing applications and queries, while serving as NoSQL alternative.
Strong ACID guarantees compared to other distributed databases, high availability, and transparent horizontal scaling provide a strong basis for the real-time OLTP for CRM/ERP, Massively Parallel Processing (MPP) framework, PaaS, SaaS, FaaS, and ODS/MDM. Postgres Pro Shardman will also be of a great use for the systems where it is impossible to physically split the DB, or if the the DB tables have sophisticated architecture.
For internal specifics refer to Distributed System Internals.
Postgres Pro Shardman is provided under the following license: https://postgrespro.com/products/postgrespro/eula. Make sure to review the license terms before downloading Postgres Pro Shardman.
Postgres Pro Shardman provides the following advantages, compatibility features to your applications:
REPEATABLE READ
isolation level in a distributed system, along with
advisory locks.
The following enhancements are also inherited from Postgres Pro Enterprise:
amcheck module.
\i command in
psql.
Replication optimizations:
Reducing the number of catalog locks to improve performance.
pg_internal.init file
when analyzing catalog tables, particularly when statistics for these tables
change frequently. This may be useful for 1C.
SHARE lock on the table
during foreign key constraint checks.
(See the share_lock_fk storage parameter.)
pg_temp_default tablespace created by default at
cluster initialization to store temporary objects, such as temporary
tables and indexes on such tables.
PARTITION BY REFERENCE
clause.
OR clauses into UNION ALL queries.
(See the enable_orunion_transformation configuration
parameter.)
The following enhancements are also inherited from Postgres Pro Standard:
NUL byte replacement with the specified ASCII code while
loading data using the COPY FROM command. (See
nul_byte_replacement_on_import parameter
description.)
'\u0000' character replacement with the specified
unicode character when calling a function processing JSONB. (See
unicode_nul_character_replacement_in_jsonb parameter
description.)
restore_command
parameter without restarting the server.
SPLIT PARTITION
and MERGE PARTITIONS
subcommands in the ALTER TABLE command, which split
a single partition into several partitions and merge
several partitions into one, respectively.
pg_snapshot_any
function. See Section 9.28.13 for details.
lz4.
--lc-collate value if the locale provider is not
specified in the database. For more information, see initdb, createdb, and CREATE DATABASE.
Postgres Pro Shardman also includes the following additional modules and applications:
To provide the advanced functionalities and features, Postgres Pro Shardman imposes more stringent requirements on operating systems supported. Postgres Pro Shardman runs on the following operating systems:
Ubuntu 22.04/24.04 (no certified edition)
Debian 12/13 (no certified edition)
Red OS 8 and 7.3 (no certified edition)
Alt 10/11 (no certified edition) and ALT SP Release 10
Astra Linux 1.7/1.8 and s390 (no certified edition)
Postgres Pro Shardman releases follow PostgreSQL releases, though sometimes occur more frequently. The Postgres Pro Shardman versioning scheme is based on the PostgreSQL one and has an additional decimal place.