Aphelion v1.6.0: Smart Partitions & Generated Columns
Solving the hardest PostgreSQL data generation challenges with zero configuration.
The "Constraint Violation" Nightmare
If you use PostgreSQL partitioning, you know the pain: trying to insert data into a partitioned table usually forces you to manually ensure every row lands in a valid partition.
Generated columns are another headache. Most generators try to insert values into `GENERATED ALWAYS AS ... STORED` columns, causing immediate failures.
With **Aphelion v1.6.0**, we've solved both.
1. Intelligent Partition Support
Aphelion now automatically detects partition boundaries for `RANGE` partitioned tables.
How it works:
- Introspection: We read the partition expressions from `pg_class` and `pg_inherits`.
- Bound Extraction: We parse the `FOR VALUES FROM (...) TO (...)` syntax.
- Constraint Enforcement: When generating data for a partition (e.g., `payment_p2022_01`), we guarantee the `payment_date` falls strictly within January 2022.
This means you can clone a massive partitioned schema like the Pagila rental history and every single row will respect the partitioning scheme. No more "check constraint violation: partition key of the failing row contains..." errors.
2. Generated Column Auto-Detection
PostgreSQL 12+ introduced stored generated columns. You cannot INSERT into them; the database calculates them for you.
Aphelion v1.6.0 automatically identifies these columns during introspection and flags them as `isGenerated`. They are seamlessly excluded from all `INSERT` statements, while their definitions are preserved in the schema.
Zero configuration required. Point Aphelion at your database, and it just works.
Other Improvements
- ✓ Production Domain: Updated all references to use `algomimic.com`.
- ✓ CLI Updates: `npm run build:binaries` now includes optimized compression.
Upgrade Today
This update is free for all users. Just re-download the binary.
Tags: #PostgreSQL #Release #Partitioning #DevOps
Contact: info@algomimic.com