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