v1.0.0 is pgGraph's first production release and supports PostgreSQL 14
through 18. PostgreSQL tables remain the source of truth, and pgGraph's graph
indexes and projections can be validated and rebuilt from them.
Supported Surface
- The exact SQL function, configuration, diagnostic, and bounded GQL read/write
profiles are generated and drift-checked. Full ISO GQL, full openCypher, and a
public SQL/PGQGRAPH_TABLEsurface are not claimed. - Named graphs, PostgreSQL-backed mapped writes, durable synchronization,
resource-governed traversal and analytics, persisted generation recovery,
maintenance jobs, and operator diagnostics are supported within the public
limits documentation. - Standard PostgreSQL SQLSTATEs are paired with stable
PGxxxdiagnostics in
DETAIL. Applications migrating from alpha builds must update any code that
depended on the earlier nonstandard SQLSTATE mapping.
Alpha Migration And Rebuild
The supported transition from v0.1.8 is source-preserving, not an in-place
catalog or binary upgrade. Back up the database, record graph registrations,
disable writers and schedulers, remove the alpha extension, install 1.0.0,
reapply registration, and rebuild from the PostgreSQL source tables. Before
using DROP EXTENSION graph CASCADE, inventory application objects that depend
on extension functions or types; CASCADE removes those dependents as well as
extension-generated sync objects.
Alpha .pggraph files, projection manifests, and segments are not loaded as a
1.0 compatibility promise. Rebuild them with the 1.0 engine. The 1.0 base
artifact format is v6 and mutable projection metadata is checksummed and
generation-addressed.
Rollback
Do not install an alpha binary over 1.0 catalogs or artifacts. Before cutover,
retain a logical backup plus the matching alpha package and registration
inventory. Rollback restores that backup into a clean database using the alpha
package; source rows are authoritative, and derived graph state is rebuilt.
Security, Resources, And Deprecations
- Extension and generated trigger security-definer boundaries use a pinned
pg_catalog, pg_tempsearch path, preserve caller-role ACL/RLS checks, and
reject unsafe catalog/source lock combinations before publication. - Build, load, query, hydration, synchronization, compaction, and supported
analytics enforce documented memory, work, row, disk, file, and elapsed-time
limits. Rejected work does not replace the last validated generation. - The alpha
graph.oom_actionandgraph.allow_unsafe_oom_actionssettings are
accepted as read-only compatibility aliases throughout 1.x. They do not
authorize unsafe allocation behavior and should be removed from new
configurations.