On Mon, Feb 19, 2018 at 01:54:24PM +0000, PG Doc comments form wrote:
> The sample works with a NON-persistent connection (psql -c):
>
> <quote>
> 25.3.6.1. Standalone Hot Backups
> ... touch /var/lib/pgsql/backup_in_progress
> psql -c "select pg_start_backup('hot_backup');"
> tar -cf /var/lib/pgsql/backup.tar /var/lib/pgsql/data/
> psql -c "select pg_stop_backup();"
> rm /var/lib/pgsql/backup_in_progress
> tar -rf /var/lib/pgsql/backup.tar /var/lib/pgsql/archive/
> ...
> </quote>
This uses the set of exclusive backup APIs, so with non-persistent
connections the backup can be correctly completed. Non-exclusive
backups can be defined using 'false' as third argument of
pg_start_backup() and first argument of pg_stop_backup(). Note that for
pg_start_backup you would also need to define the second boolean
argument to decide if a checkpoint should be immediately taken or not.
So you would have basically the following flow on a persistem
connection:
=# SELECT pg_start_backup('my_backup', true_or_false, false);
-- keep connection alive and do stuff.
=# SELECT pg_stop_backup(false);
Do you think that the section "Tips and Examples" should mention
that an exclusive backup method is used for this example? This may
reduce the confusion.
--
Michael