PostgreSQL event sourcing, this PostgreSQL extension can set up tables, triggers, and functions to keep track of changes in any table.
- Rust 71.4%
- PLpgSQL 20.3%
- Nix 8.3%
| .cargo | ||
| sql | ||
| src | ||
| templates | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| deny.toml | ||
| flake.lock | ||
| flake.nix | ||
| pges.control | ||
| README.md | ||
| taplo.toml | ||
PostgreSQL event sourcing
This PostgreSQL extension can set up tables, triggers, and functions to keep track of changes in any table.
To-do
- JSON diff & patch using [json_patch] and [serde_json]
- First & last functions for getting the first or last value in aggregates
- Extract keys, columns, and data types of a particular table
- Features: Event sourcing
- Dynamic setup for tables, triggers, and functions
- Choose schema and timestamp columns
- Reconstruct data by timestamp
- Reconstruct data by number of steps back in time
- Commit reconstructed data
- Snapshots
- Reconstruct data using snapshots by timestamp or steps back in time
- Dynamic setup for tables, triggers, and functions
- Distribute extension? Container? Build pipeline?
- Tests
- Initialize and drop event sources
- With composite keys
- Without timestamp columns
- Insert, update, and delete triggers
- With composite keys
- Without timestamp columns
- Reconstruct data by timestamp
- With composite keys
- Without timestamp columns
- Reconstruct data by number of steps back in time
- With composite keys
- Without timestamp columns
- Commit reconstructed data
- With composite keys
- Without timestamp columns
- Reconstruct data using snapshots
- With composite keys
- Without timestamp columns
- DDL changes
- Initialize and drop event sources
- Documentation
- Contributing
- Code coverage
- PostgreSQL COMMENT for event source tables, triggers, and functions