RDS/Aurora logical refresh component
Synced from GitHub PR #262: https://github.com/postgres-ai/database-lab-engine/pull/262
This new component is helpful for large DBs and full refresh in logical mode, where long dump to perform logical sync is problematic – it holds xmin horizon, affecting DB health (bloat accumulation). For RDS and Aurora only at this moment.
Note
Introduces a standalone rds-refresh tool that clones RDS/Aurora from snapshots, updates DBLab source, triggers full refresh, and cleans up—plus Docker/CLI, configs, and docs.
-
New component:
rds-refresh- CLI tool to orchestrate DBLab full refresh via temporary RDS/Aurora clones from snapshots (
main.go,refresher.go). - DBLab API client to update source config and trigger/monitor refresh (
dblab.go). - AWS RDS client for snapshot discovery, clone create/wait/delete for RDS and Aurora (
rds.go). - Config loader with env expansion, validation, and defaults; example configs (
config.go,config.example.yaml). - Packaging and tooling:
Dockerfile,Makefile, module files (go.mod,go.sum). - Documentation with usage, scheduling, IAM, and networking (
README.md).
- CLI tool to orchestrate DBLab full refresh via temporary RDS/Aurora clones from snapshots (
-
Engine
- Add example config:
engine/configs/rds-refresh.example.yaml. - Update
engine/go.mod/go.sumwith AWS SDK (v2) indirect dependencies.
- Add example config:
Written by Cursor Bugbot for commit 01043952. Configure here.
Edited by Nikolay Samokhvalov