Changes for version 0.900000 - 2026-06-23
- First release. The PostgreSQL driver for DBIO: PostgreSQL-native storage, SQL generation, schema introspection, diff, DDL and desired-state deployment.
- Storage
- DBIO::PostgreSQL::Storage, registered for dbi:Pg: DSNs and autodetected by core via the driver registry
- Loadable as a schema component (load_components('PostgreSQL')) or via the use DBIO Schema => -pg shortcut, which pins +DBIO::PostgreSQL::Storage as the storage type
- RETURNING on INSERT/UPDATE/DELETE, last_insert_id via sequences, AccessBroker connect support
- DBIO::PostgreSQL::Result component and the -pg Result shortcut for PostgreSQL-native column/source features (schemas, indexes)
- SQL Generation
- DBIO::PostgreSQL::SQLMaker with native JSONB operators: @> / <@ containment (auto-serializes hashref/arrayref to JSON), @? / @@ JSONPath (PG 12+), and ? / ?| / ?& key existence (rewritten as jsonb_exists*() to avoid the DBI placeholder clash)
- DBIO::PostgreSQL::JSONB jsonb() path-expression DSL: eq/ne/lt/le/gt/ge/like/ilike/is_null/is_not_null/as_order
- Introspection
- DBIO::PostgreSQL::Introspect builds a live model from pg_catalog: schemas, tables, columns, indexes, sequences, foreign keys, check constraints, functions, triggers, types/enums, extensions and row-level-security policies
- Diff and DDL
- DBIO::PostgreSQL::Diff compares two introspected models per object class (Schema/Table/Column/Index/Type/Function/Trigger/ Policy/Extension) and emits the ALTER/CREATE/DROP statements
- DBIO::PostgreSQL::DDL generates PostgreSQL-native DDL from the schema, including a CREATE TYPE enum pre-pass, schema-qualified CREATE VIEW for non-virtual views, and physical-table dedupe
- Deploy
- DBIO::PostgreSQL::Deploy orchestrates test-deploy-and-compare: introspect live, deploy desired to a temporary schema, re-introspect, diff, then drop the temp schema; supports install, diff, apply and upgrade
- Storage declares dbio_deploy_class so DBIO::Schema->deploy() routes through DBIO::PostgreSQL::Deploy rather than SQL::Translator
Documentation
Modules
PostgreSQL-specific schema management for DBIO
PostgreSQL base->native type resolver
Generate PostgreSQL DDL from DBIO schema classes
Deploy and upgrade PostgreSQL schemas via test-deploy-and-compare
Compare two introspected PostgreSQL models
Diff operations for PostgreSQL columns
Diff operations for PostgreSQL extensions
Diff operations for PostgreSQL functions
Diff operations for PostgreSQL indexes
Diff operations for PostgreSQL Row Level Security policies
Diff operations for PostgreSQL schemas
Diff operations for PostgreSQL tables
Diff operations for PostgreSQL triggers
Diff operations for PostgreSQL types (enums, composites, ranges)
Introspect a PostgreSQL database via pg_catalog
Introspect PostgreSQL CHECK constraints
Introspect PostgreSQL table columns
Introspect PostgreSQL extensions
Introspect PostgreSQL foreign keys
Introspect PostgreSQL functions
Introspect PostgreSQL indexes
Pure normalization helpers for PostgreSQL introspected metadata
Pure parsers for raw PostgreSQL metadata strings
Introspect PostgreSQL Row Level Security policies
Introspect PostgreSQL schemas (namespaces)
Introspect PostgreSQL sequences
Introspect PostgreSQL tables
Introspect PostgreSQL triggers
Introspect PostgreSQL types (enums, composites, ranges)
JSONB path expression helpers for DBIO::PostgreSQL queries
JSONB path-extraction operator object built by jsonb()
Base class for PostgreSQL schema namespaces
PostgreSQL-specific Result component for DBIO
PostgreSQL-specific SQL generation for DBIO
PostgreSQL storage layer for DBIO
Test result class for PostgreSQL timezone-aware datetime inflation
Test result class for PostgreSQL sequence tests
`use DBIO -pg` shortcut for the PostgreSQL driver