There's a complaint over here
about the archiver process not being very swift to adopt a new
value of archive_command. This is because it only reacts to SIGHUP
once per outer loop, ie, only after completing an archiving cycle.
This is unhelpful in the example case, since the point of changing
the command is to get it to finish archiving faster.
How do people feel about adding
/* Check for config update */
got_SIGHUP = false;
to the inner loop in pgarch_ArchiverCopyLoop? This would allow
a new archive_command value to be adopted immediately for the next
copy attempt. (Hm, I guess we'd need to recheck XLogArchiveCommandSet
The only objection I can see to this is that someone might have an
archive command that depends on the identical command being issued
for all files copied in a given archiving cycle. However, it's tough
to see how such a dependency could arise, considering that the archive
command isn't told about the start or finish of an archiving cycle.
regards, tom lane