Simon Riggs wrote:
>> Few comments:
>> * smart shutdown waits for sessions to complete, yet this just ignores
>> smart shutdowns which is something a little different. I think we 
>> should wait for the backup to complete and then shutdown.

That would be more consistent, I agree.

I'll undo my changes to pg_ctl as well, as they make no more sense then.

>> * The #defines at top of postmaster.c are duplicated from xlog.c
>> If we can't agree on a common header file then we should at least add a
>> comment to mention they are duplicated (in both locations).
> If we add a function called something like BackupInProgress() 
> to xlog.c,
> exported via miscadmin.h then we can use it within the
> PostmasterStateMachine() function like this
>       if (pmState == PM_WAIT_BACKENDS)
>       {
>               if (CountChildren() == 0 &&
>                       StartupPID == 0 &&
>                       (BgWriterPID == 0 || !FatalError) &&
>                       WalWriterPID == 0 &&
>                       AutoVacPID == 0 &&
>                       !BackupInProgress())   <---- new line
> so that the postmaster doesn't need to know about how we do backups.
> That way you don't need any of the special cases in your patch, nor is
> there any need to duplicate the #defines.

I realized that duplicating the #defines was ugly, and will do it
like that.

Thanks for the hints.

Laurenz Albe

Sent via pgsql-patches mailing list (
To make changes to your subscription:

Reply via email to