On Tue, Apr 30, 2013 at 3:24 PM, Dmitry Koterov <dmi...@koterov.ru> wrote:

> I think that at
> http://www.postgresql.org/docs/current/static/functions-admin.html and
> http://www.postgresql.org/docs/current/static/continuous-archiving.html two
> important points on how pg_start_backup() works are missing:
>
> 1. After pg_start_backup() and till pg_stop_backup() VACUUM is denied
> (e.g. autovacuum is turned off), so the new data is always appended to data
> files, is never written at their middle.
>

This is not the case.  Autovacuum continues to run during the backup.



> This allows to archive the data directory using any copying tools (rsync,
> tar, cp etc.). If you forget to call pg_stop_backup() by accident, data
> files will grow forever. So pg_start_backup() switches the database to
> "append-only mode" which is safe to backup without stopping (data files
> temporarily become append-only, WAL logs are append-only always).
>

No, it doesn't work that way.  I don't know why appending would be any
safer than normal updates would be anyway.  WAL replay fixes up any
problems that might arise.


> 2. After pg_start_backup() and till pg_stop_backup() full_page_writes is
> forced to be ON.
>

Effectively yes, this is documented in one of your links above (and is one
of the reasons vacuuming during the backup is not a problem)

Cheers,

Jeff

Reply via email to