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
- Vacuum: Uses HeliosDB's compaction instead of PostgreSQL vacuum
- TOAST: Handled by HeliosDB's storage layer
- Tablespaces: Mapped to HeliosDB storage tiers
- 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