Specifying both recovery_target_xid and recovery_target_time

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Specifying both recovery_target_xid and recovery_target_time
Date: 2014-01-08 15:38:00
Message-ID: 52CD70D8.5000605@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2014-01-08 15:43:13 Re: Specifying both recovery_target_xid and recovery_target_time
Previous Message Heikki Linnakangas 2014-01-08 12:58:59 Re: Bug in visibility map WAL-logging