Skip to content

v1.1.0 — integrity fixes

Choose a tag to compare

@anshu8858 anshu8858 released this 07 Nov 11:36
· 7 commits to main since this release

Integrity and correctness fixes surfaced by the first real deployment.

A truncated dump was reported as a successful backup. backup_one ran as an if condition, which suppresses set -e inside the subshell, so a pg_dump killed by the timeout fell through to the rename; verification then only listed the archive header, which a truncated dump still answers. Dumps are now read back in full (verify: full|header|none).

--latest could restore a different database, and prune could delete the only copy of one: both globbed <entry>_*, which matches a longer sibling entry (app vs app_archive).

Also in this release:

  • globals — cluster roles and grants, included in backup all
  • flock on the backup directory; directory dumps stage next to the backups, not in /tmp
  • dry runs no longer create .part files, and orphans left by a crash are swept
  • a failed connection reports the real cause ("Connection refused", "password authentication failed") instead of a generic message

Install: git clone https://github.com/deziss/dbtool.git && cd dbtool && sudo ./install.sh