The docs say:

At most one of recovery_target_time, recovery_target_name or 
recovery_target_xid can be specified

However, the code actually allows them all to be specified at the same time:

                else if (strcmp(item->name, "recovery_target_name") == 0)
                {
                        /*
                         * if recovery_target_xid specified, then this overrides
                         * recovery_target_name
                         */
                        if (recoveryTarget == RECOVERY_TARGET_XID)
                                continue;
                        recoveryTarget = RECOVERY_TARGET_NAME;

The precedence is XID, time, name.

I think the documented behavior would make more sense, ie. throw an error if you try to specify multiple targets. Anyone remember if that was intentional? Any objections to change the code to match the docs, in master?

- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to