Skip to content

PostgreSQL 17 Compatibility Matrix

Comprehensive compatibility reference for HeliosDB's PostgreSQL 17 implementation.

Overall Compatibility

Category Coverage Status
Wire Protocol v3.0 100% Complete
SQL Standard 95%+ Complete
PostgreSQL 17 Features 95%+ Complete
Client Compatibility 100% Complete

Wire Protocol

Message Types

Message Direction Status Notes
StartupMessage C->S Supported Protocol v3.0
SSLRequest C->S Supported SSL negotiation
GSSENCRequest C->S Supported GSSAPI encryption
CancelRequest C->S Supported Query cancellation
Authentication* S->C Supported All methods
ParameterStatus S->C Supported Session parameters
BackendKeyData S->C Supported Cancel key
ReadyForQuery S->C Supported Transaction status
Query C->S Supported Simple query
Parse C->S Supported Extended query
Bind C->S Supported Parameter binding
Describe C->S Supported Statement/portal info
Execute C->S Supported Portal execution
Sync C->S Supported Sync point
Flush C->S Supported Flush output
Close C->S Supported Close statement/portal
CopyData Both Supported COPY data transfer
CopyDone Both Supported COPY completion
CopyFail C->S Supported COPY failure

Authentication Methods

Method Status Notes
Trust Supported No authentication
Password (cleartext) Supported Basic auth
MD5 Supported MD5 hash
SCRAM-SHA-256 Supported Recommended
SCRAM-SHA-256-PLUS Supported Channel binding
Certificate Supported SSL cert auth
GSSAPI Supported Kerberos
SSPI Partial Windows auth
LDAP Supported Directory auth
RADIUS Supported Remote auth
PAM Supported Pluggable auth

SQL Features

Data Definition Language (DDL)

Feature Status Notes
CREATE TABLE Supported All column types
CREATE TABLE AS Supported Query-based
CREATE INDEX Supported B-tree, Hash, GIN, GiST
CREATE VIEW Supported Including materialized
CREATE FUNCTION Supported SQL, PL/pgSQL
CREATE PROCEDURE Supported Stored procedures
CREATE TRIGGER Supported Row/statement triggers
CREATE SEQUENCE Supported Serial/identity
CREATE TYPE Supported Composite, enum
CREATE SCHEMA Supported Schema management
ALTER TABLE Supported All alterations
DROP * Supported All object types
TRUNCATE Supported Fast delete
COMMENT Supported Object comments

Data Manipulation Language (DML)

Feature Status Notes
INSERT Supported All variants
INSERT ON CONFLICT Supported UPSERT
UPDATE Supported All variants
UPDATE FROM Supported Join update
DELETE Supported All variants
DELETE USING Supported Join delete
MERGE Supported PG17 RETURNING
COPY Supported PG17 ON_ERROR
SELECT Supported Full support
VALUES Supported Value lists

Query Features

Feature Status Notes
JOINs (all types) Supported INNER, LEFT, RIGHT, FULL, CROSS
Subqueries Supported Scalar, row, table
CTEs Supported Recursive CTEs
Window Functions Supported All window functions
Aggregate Functions Supported Standard and custom
GROUP BY Supported CUBE, ROLLUP, GROUPING SETS
HAVING Supported Filter groups
ORDER BY Supported NULLS FIRST/LAST
LIMIT/OFFSET Supported Pagination
FETCH FIRST Supported SQL standard
UNION/INTERSECT/EXCEPT Supported Set operations
DISTINCT Supported Including ON

PostgreSQL 17 Specific

Feature Status Notes
JSON_TABLE Supported Full SQL/JSON
MERGE RETURNING Supported $action pseudo-column
COPY ON_ERROR Supported stop/ignore modes
Incremental Backup Supported Block-level
Slot Failover Supported Logical replication HA
Vacuum 20x Memory Supported Optimized
WAL 2x Throughput Supported Enhanced
MAINTAIN Privilege Supported Maintenance operations

Data Types

Type Status Notes
integer/bigint/smallint Supported Standard integers
decimal/numeric Supported Arbitrary precision
real/double precision Supported Floating point
serial/bigserial Supported Auto-increment
boolean Supported true/false
char/varchar/text Supported Character types
bytea Supported Binary data
date/time/timestamp Supported With/without timezone
interval Supported Time intervals
uuid Supported UUIDs
json/jsonb Supported JSON types
array Supported Array types
hstore Supported Key-value
geometric Supported Point, line, etc.
network Supported inet, cidr, macaddr
range Supported Range types
enum Supported Enumerated types
composite Supported User-defined

Functions

Category Coverage Notes
Mathematical 100% All math functions
String 100% All string functions
Date/Time 100% All datetime functions
Aggregate 100% Standard aggregates
Window 100% All window functions
JSON 100% Including PG17
Array 100% Array operations
System 95% Core system functions
Trigger 100% Trigger functions

Indexes

Type Status Notes
B-tree Supported Default index
Hash Supported Equality only
GiST Supported Generalized search
GIN Supported Inverted index
BRIN Supported Block range
SP-GiST Supported Space partitioned
Partial Supported WHERE clause
Expression Supported Function indexes
Covering Supported INCLUDE clause
Unique Supported Uniqueness constraint

Transaction Features

Feature Status Notes
BEGIN/COMMIT/ROLLBACK Supported Standard control
SAVEPOINT Supported Nested transactions
Transaction Isolation Supported All levels
Two-Phase Commit Supported Distributed
Advisory Locks Supported Application locks
Row-Level Locking Supported FOR UPDATE, etc.
MVCC Supported Full implementation

Isolation Levels

Level Status
Read Uncommitted Supported (as Read Committed)
Read Committed Supported
Repeatable Read Supported
Serializable Supported

Replication

Feature Status Notes
Streaming Replication Supported Physical
Logical Replication Supported Publication/Subscription
Replication Slots Supported With failover (PG17)
WAL Archiving Supported Archive command
Point-in-Time Recovery Supported WAL replay
Synchronous Replication Supported Configurable

System Catalogs

Catalog Status Notes
pg_database Supported Database list
pg_namespace Supported Schemas
pg_class Supported Relations
pg_attribute Supported Columns
pg_type Supported Data types
pg_index Supported Indexes
pg_constraint Supported Constraints
pg_proc Supported Functions
pg_trigger Supported Triggers
pg_stat_activity Supported Sessions
pg_stat_user_tables Supported Table stats
pg_locks Supported Lock info
information_schema.* Supported Standard schema

Client Drivers

Driver Tested Notes
libpq (C) Yes Reference implementation
psycopg2 (Python) Yes Full compatibility
psycopg3 (Python) Yes Full compatibility
node-postgres (Node.js) Yes Full compatibility
pg (Go) Yes Full compatibility
JDBC (Java) Yes Full compatibility
npgsql (.NET) Yes Full compatibility
rust-postgres (Rust) Yes Full compatibility

Known Limitations

Not Supported

Feature Reason
Procedural languages (except PL/pgSQL) Not applicable
Foreign data wrappers (write) Read-only supported
Large Objects (lo_*) Use bytea instead
XML functions (limited) Basic support only
PostGIS extensions Planned

Behavioral Differences

  1. Vacuum: Uses HeliosDB's compaction instead of PostgreSQL vacuum
  2. TOAST: Handled by HeliosDB's storage layer
  3. Tablespaces: Mapped to HeliosDB storage tiers
  4. Extensions: Core extensions only

Compatibility Testing

PostgreSQL Regression Suite

  • Total Tests: 200+
  • Passing: 190+ (95%+)
  • Skipped: Extension-specific tests

Client Compatibility Tests

  • psql: 100% compatible
  • pgAdmin: 100% compatible
  • ORMs: 95%+ compatible

Related: README.md | CONFIGURATION.md | EXAMPLES.md

Last Updated: December 2025