pgrecon 0.5.0
Materialized views convert for real when the dump carries their defining query: CREATE MATERIALIZED VIEW with the container's column names, the query through the same translation and guards as views, and notes for the refresh method and query rewrite. Constraints, foreign keys, and triggers that target a materialized view refuse by name - PostgreSQL does not allow them there. Query-less dumps keep the container-table behavior of 0.4.
Ten rules from the field close the gap catalog at 74: MODEL, PIVOT/UNPIVOT, flashback queries, multi-table INSERT, WITH FUNCTION, SQL macros, invisible columns, read-only tables, DEFAULT ON NULL, and materialized view logs. The SQL constructs detect at the token level, so a PIVOT in a comment stays silent.
pgrecon runbook generates the data-movement artifacts from the inventory alone: a data-only ora2pg configuration, row-count and spot-sum validation SQL for both engines, post-load sequence alignment, materialized view refresh and ANALYZE steps, and the cutover checklist. The tool still never connects to a database; it directs the move instead.
The extraction scripts capture license posture (edition banner, cpu counts, DBA_FEATURE_USAGE_STATISTICS under SELECT_CATALOG_ROLE, degrading to empty files without it), materialized view defining queries, and complete partition HIGH_VALUE in both script tiers.
As with every release, the converted output was applied to a live PostgreSQL 16 before tagging: both fact-bearing benchmark schemas at zero errors, the materialized view refreshed and read back, and a row inserted through a converted interval-partition bound landing in the correct child.