You've already forked pgbackrest
mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2026-05-22 10:15:16 +02:00
587bd1f8d9
This version has been put into production at Resonate, so it does work, but there are a number of major caveats. * No restore functionality, but the backup directories are consistent Postgres data directories. You'll need to either uncompress the files or turn off compression in the backup. Uncompressed backups on a ZFS (or similar) filesystem are a good option because backups can be restored locally via a snapshot to create logical backups or do spot data recovery. * Archiving is single-threaded. This has not posed an issue on our multi-terabyte databases with heavy write volume. Recommend a large WAL volume or to use the async option with a large volume nearby. * Backups are multi-threaded, but the Net::OpenSSH library does not appear to be 100% threadsafe so it will very occasionally lock up on a thread. There is an overall process timeout that resolves this issue by killing the process. Yes, very ugly. * Checksums are lost on any resumed backup. Only the final backup will record checksum on multiple resumes. Checksums from previous backups are correctly recorded and a full backup will reset everything. * The backup.manifest is being written as Storable because Config::IniFile does not seem to handle large files well. Would definitely like to save these as human-readable text. * Absolutely no documentation (outside the code). Well, excepting these release notes. * Lots of other little things and not so little things. Much refactoring to follow.
38 lines
874 B
Plaintext
38 lines
874 B
Plaintext
[global:command]
|
|
#compress=pigz --rsyncable --best --stdout %file% # Ubuntu Linux
|
|
compress=/usr/bin/gzip --stdout %file%
|
|
decompress=/usr/bin/gzip -dc %file%
|
|
#checksum=sha1sum %file% | awk '{print $1}' # Ubuntu Linux
|
|
checksum=/usr/bin/shasum %file% | awk '{print $1}'
|
|
manifest=/opt/local/bin/gfind %path% -printf '%P\t%y\t%u\t%g\t%m\t%T@\t%i\t%s\t%l\n'
|
|
psql=/Library/PostgreSQL/9.3/bin/psql -X %option%
|
|
|
|
[global:log]
|
|
level-file=debug
|
|
level-console=info
|
|
|
|
[global:backup]
|
|
user=backrest
|
|
host=localhost
|
|
path=/Users/backrest/test
|
|
archive-required=y
|
|
thread-max=2
|
|
thread-timeout=900
|
|
|
|
[global:archive]
|
|
path=/Users/dsteele/test
|
|
compress-async=y
|
|
archive-max-mb=500
|
|
|
|
[global:retention]
|
|
full_retention=2
|
|
differential_retention=2
|
|
archive_retention_type=full
|
|
archive_retention=2
|
|
|
|
[db]
|
|
psql_options=--cluster=9.3/main
|
|
path=/Users/dsteele/test/db/common
|
|
|
|
[db:command:option]
|
|
psql=--port=6001 |