From: | talk to ben <blo(dot)talkto(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | archive_command / pg_stat_archiver & documentation |
Date: | 2021-02-24 12:20:43 |
Message-ID: | CAPE8EZ7akCzc1hWohA4AcbmKtHh9rcWAB5MStOeZD2+9jC+hLQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
The documentation describes how a return code > 125 on the restore_command
would prevent the server from starting [1] :
"
It is important that the command return nonzero exit status on failure. The
command *will* be called requesting files that are not present in the
archive; it must return nonzero when so asked. This is not an error
condition. An exception is that if the command was terminated by a signal
(other than SIGTERM, which is used as part of a database server shutdown)
or an error by the shell (such as command not found), then recovery will
abort and the server will not start up.
"
But, I dont see such a note on the archive_command side of thing. [2]
It could happend in case the archive command is not checked beforehand or
if the archive command becomes unavailable while PostgreSQL is running.
rsync can also return 255 in some cases (bad ssh configuration or typos).
In this case a fatal error is emitted, the archiver stops and is restarted
by the postmaster.
The view pg_stat_archiver is also not updated in this case. Is it on
purpose ? It could be problematic if someone uses it to check the archiver
process health.
Should we document this ? (I can make a patch)
regards,
Benoit
[1]
https://www.postgresql.org/docs/13/continuous-archiving.html#BACKUP-PITR-RECOVERY
[2]
https://www.postgresql.org/docs/13/continuous-archiving.html#BACKUP-ARCHIVING-WAL
From | Date | Subject | |
---|---|---|---|
Next Message | Julien Rouhaud | 2021-02-24 12:21:41 | Re: REINDEX backend filtering |
Previous Message | Amit Kapila | 2021-02-24 11:37:47 | Re: Parallel INSERT (INTO ... SELECT ...) |