Skip to content

PostgreSQL 17 Compatibility Matrix

PostgreSQL 17 Compatibility Matrix

Comprehensive compatibility reference for HeliosDB’s PostgreSQL 17 implementation.

Overall Compatibility

CategoryCoverageStatus
Wire Protocol v3.0100%Complete
SQL Standard95%+Complete
PostgreSQL 17 Features95%+Complete
Client Compatibility100%Complete

Wire Protocol

Message Types

MessageDirectionStatusNotes
StartupMessageC->SSupportedProtocol v3.0
SSLRequestC->SSupportedSSL negotiation
GSSENCRequestC->SSupportedGSSAPI encryption
CancelRequestC->SSupportedQuery cancellation
Authentication*S->CSupportedAll methods
ParameterStatusS->CSupportedSession parameters
BackendKeyDataS->CSupportedCancel key
ReadyForQueryS->CSupportedTransaction status
QueryC->SSupportedSimple query
ParseC->SSupportedExtended query
BindC->SSupportedParameter binding
DescribeC->SSupportedStatement/portal info
ExecuteC->SSupportedPortal execution
SyncC->SSupportedSync point
FlushC->SSupportedFlush output
CloseC->SSupportedClose statement/portal
CopyDataBothSupportedCOPY data transfer
CopyDoneBothSupportedCOPY completion
CopyFailC->SSupportedCOPY failure

Authentication Methods

MethodStatusNotes
TrustSupportedNo authentication
Password (cleartext)SupportedBasic auth
MD5SupportedMD5 hash
SCRAM-SHA-256SupportedRecommended
SCRAM-SHA-256-PLUSSupportedChannel binding
CertificateSupportedSSL cert auth
GSSAPISupportedKerberos
SSPIPartialWindows auth
LDAPSupportedDirectory auth
RADIUSSupportedRemote auth
PAMSupportedPluggable auth

SQL Features

Data Definition Language (DDL)

FeatureStatusNotes
CREATE TABLESupportedAll column types
CREATE TABLE ASSupportedQuery-based
CREATE INDEXSupportedB-tree, Hash, GIN, GiST
CREATE VIEWSupportedIncluding materialized
CREATE FUNCTIONSupportedSQL, PL/pgSQL
CREATE PROCEDURESupportedStored procedures
CREATE TRIGGERSupportedRow/statement triggers
CREATE SEQUENCESupportedSerial/identity
CREATE TYPESupportedComposite, enum
CREATE SCHEMASupportedSchema management
ALTER TABLESupportedAll alterations
DROP *SupportedAll object types
TRUNCATESupportedFast delete
COMMENTSupportedObject comments

Data Manipulation Language (DML)

FeatureStatusNotes
INSERTSupportedAll variants
INSERT ON CONFLICTSupportedUPSERT
UPDATESupportedAll variants
UPDATE FROMSupportedJoin update
DELETESupportedAll variants
DELETE USINGSupportedJoin delete
MERGESupportedPG17 RETURNING
COPYSupportedPG17 ON_ERROR
SELECTSupportedFull support
VALUESSupportedValue lists

Query Features

FeatureStatusNotes
JOINs (all types)SupportedINNER, LEFT, RIGHT, FULL, CROSS
SubqueriesSupportedScalar, row, table
CTEsSupportedRecursive CTEs
Window FunctionsSupportedAll window functions
Aggregate FunctionsSupportedStandard and custom
GROUP BYSupportedCUBE, ROLLUP, GROUPING SETS
HAVINGSupportedFilter groups
ORDER BYSupportedNULLS FIRST/LAST
LIMIT/OFFSETSupportedPagination
FETCH FIRSTSupportedSQL standard
UNION/INTERSECT/EXCEPTSupportedSet operations
DISTINCTSupportedIncluding ON

PostgreSQL 17 Specific

FeatureStatusNotes
JSON_TABLESupportedFull SQL/JSON
MERGE RETURNINGSupported$action pseudo-column
COPY ON_ERRORSupportedstop/ignore modes
Incremental BackupSupportedBlock-level
Slot FailoverSupportedLogical replication HA
Vacuum 20x MemorySupportedOptimized
WAL 2x ThroughputSupportedEnhanced
MAINTAIN PrivilegeSupportedMaintenance operations

Data Types

TypeStatusNotes
integer/bigint/smallintSupportedStandard integers
decimal/numericSupportedArbitrary precision
real/double precisionSupportedFloating point
serial/bigserialSupportedAuto-increment
booleanSupportedtrue/false
char/varchar/textSupportedCharacter types
byteaSupportedBinary data
date/time/timestampSupportedWith/without timezone
intervalSupportedTime intervals
uuidSupportedUUIDs
json/jsonbSupportedJSON types
arraySupportedArray types
hstoreSupportedKey-value
geometricSupportedPoint, line, etc.
networkSupportedinet, cidr, macaddr
rangeSupportedRange types
enumSupportedEnumerated types
compositeSupportedUser-defined

Functions

CategoryCoverageNotes
Mathematical100%All math functions
String100%All string functions
Date/Time100%All datetime functions
Aggregate100%Standard aggregates
Window100%All window functions
JSON100%Including PG17
Array100%Array operations
System95%Core system functions
Trigger100%Trigger functions

Indexes

TypeStatusNotes
B-treeSupportedDefault index
HashSupportedEquality only
GiSTSupportedGeneralized search
GINSupportedInverted index
BRINSupportedBlock range
SP-GiSTSupportedSpace partitioned
PartialSupportedWHERE clause
ExpressionSupportedFunction indexes
CoveringSupportedINCLUDE clause
UniqueSupportedUniqueness constraint

Transaction Features

FeatureStatusNotes
BEGIN/COMMIT/ROLLBACKSupportedStandard control
SAVEPOINTSupportedNested transactions
Transaction IsolationSupportedAll levels
Two-Phase CommitSupportedDistributed
Advisory LocksSupportedApplication locks
Row-Level LockingSupportedFOR UPDATE, etc.
MVCCSupportedFull implementation

Isolation Levels

LevelStatus
Read UncommittedSupported (as Read Committed)
Read CommittedSupported
Repeatable ReadSupported
SerializableSupported

Replication

FeatureStatusNotes
Streaming ReplicationSupportedPhysical
Logical ReplicationSupportedPublication/Subscription
Replication SlotsSupportedWith failover (PG17)
WAL ArchivingSupportedArchive command
Point-in-Time RecoverySupportedWAL replay
Synchronous ReplicationSupportedConfigurable

System Catalogs

CatalogStatusNotes
pg_databaseSupportedDatabase list
pg_namespaceSupportedSchemas
pg_classSupportedRelations
pg_attributeSupportedColumns
pg_typeSupportedData types
pg_indexSupportedIndexes
pg_constraintSupportedConstraints
pg_procSupportedFunctions
pg_triggerSupportedTriggers
pg_stat_activitySupportedSessions
pg_stat_user_tablesSupportedTable stats
pg_locksSupportedLock info
information_schema.*SupportedStandard schema

Client Drivers

DriverTestedNotes
libpq (C)YesReference implementation
psycopg2 (Python)YesFull compatibility
psycopg3 (Python)YesFull compatibility
node-postgres (Node.js)YesFull compatibility
pg (Go)YesFull compatibility
JDBC (Java)YesFull compatibility
npgsql (.NET)YesFull compatibility
rust-postgres (Rust)YesFull compatibility

Known Limitations

Not Supported

FeatureReason
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 extensionsPlanned

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