Обсуждение: docu bug?
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/9.6/static/continuous-archiving.html Description: Seems to need a persistent connection: <quote> 25.3.3.1. Making a non-exclusive low level backup ... The connection calling pg_start_backup must be maintained until the end of the backup, or the backup will be automatically aborted. ... </Quote> 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>
POR FAVOR TRADUZIR
Em 19/02/2018 9:55 AM, "PG Doc comments form" <noreply@postgresql.org> escreveu:
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/9.6/static/continuous- archiving.html
Description:
Seems to need a persistent connection:
<quote>
25.3.3.1. Making a non-exclusive low level backup
...
The connection calling pg_start_backup must be maintained until the end of
the backup, or the backup will be automatically aborted.
...
</Quote>
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>
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
Вложения
Yes. I think the exclusive backup method should be mentioned especially as it is the older one.
- Markus
-----Ursprüngliche Nachricht-----
Von: Michael Paquier [mailto:michael@paquier.xyz]
Gesendet: Dienstag, 20. Februar 2018 02:25
An: Zwettler Markus (OIZ) <Markus.Zwettler@zuerich.ch>; pgsql-docs@lists.postgresql.org
Betreff: Re: docu bug?
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-exclusivebackups 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
thesecond 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
On Tue, Feb 20, 2018 at 08:00:35AM +0000, Zwettler Markus (OIZ) wrote: > Yes. I think the exclusive backup method should be mentioned > especially as it is the older one. Attached is a suggestion of patch. What do you think? -- Michael