Обсуждение: 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