Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add notes when using with HA clustring software (ex. pacemaker) #196

Closed
mikecaat opened this issue Jul 30, 2021 · 1 comment
Closed

Add notes when using with HA clustring software (ex. pacemaker) #196

mikecaat opened this issue Jul 30, 2021 · 1 comment

Comments

@mikecaat
Copy link
Contributor

mikecaat commented Jul 30, 2021

If a user uses pg_rman, postgresql which version is 12 or higner, and pacemaker pgsql resource agent,
there is a case postgresql can't start properly. The case is following.

(1) restore with pg_rman
(2) start postgresql server and make the archive recovery done
(3) stop postgresql server
(4) start postgresql server as standby by pacemaker pgsql resource agent
(But, the postgresql can't reach consistency and can't accept connections.)

The reason is that postgresql regards old "recovery_target_timeline" value as valid in (4)
although the timeline ID was incremented in (2).

For example,

(1) restore with pg_rman
// ex. pg_rman restores with "recovery_target_timeline = 4"

(2) start postgresql server and make the recovery done
// ex. timeline id is incremented to "5"

(3) stop postgresql server

(4) start postgresql server as standby by the pacemaker pgsql resource agent
// ex. timeline id is "5", but recovery_target_timeline = "4"
// The postgresql can't find the checkpoint wal record when postgres startups because the timeline is not valid.
// So, the postgresql can't reach consistency.

To avoid the issue, users need to remove the "recovery_target_timeline" before executing (4).

In essence, the issue occurs with a combination of PITR with "recovery_target_timline" and
the pacemaker pgsql resource agent, not with pg_rman. But, it's better to add notes in pg_rman's documentation.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)

mikecaat added a commit to mikecaat/pg_rman that referenced this issue Jul 30, 2021
Add notes to warn users who use pg_rman with HA clustering
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql version is 12. It leads that the recovery
related parameter configured by pg_rman works as valid
if to use with pacemaker unexpectedly.
mikecaat added a commit to mikecaat/pg_rman that referenced this issue Jul 30, 2021
Add notes to warn users who use pg_rman with HA clustering
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql version is 12. It leads that the recovery
related parameter configured by pg_rman works as valid
if to use with pacemaker unexpectedly.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit to mikecaat/pg_rman that referenced this issue Jul 30, 2021
Add notes to warn users who use pg_rman with HA clustering
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql version is 12. It leads that the recovery
related parameter configured by pg_rman works as valid
if used with pacemaker unexpectedly.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit to mikecaat/pg_rman that referenced this issue Jul 30, 2021
Add notes to warn users who use pg_rman with HA clustering
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql version is 12. It leads that the recovery
related parameter configured by pg_rman works as valid
if used with pacemaker unexpectedly.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit to mikecaat/pg_rman that referenced this issue Aug 11, 2021
Add notes to warn users who use pg_rman with HA clustering
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql version is 12. It leads that the recovery
related parameter configured by pg_rman works as valid
if used with pacemaker unexpectedly.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit that referenced this issue Aug 23, 2021
Add notes to warn users who use pg_rman with HA clustering 
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql's version is 12. It leads that the recovery-related
parameters configured by pg_rman works as valid if used with 
pacemaker unexpectedly. See the commit contents for detail.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit that referenced this issue Aug 23, 2021
Add notes to warn users who use pg_rman with HA clustering 
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql's version is 12. It leads that the recovery-related
parameters configured by pg_rman works as valid if used with 
pacemaker unexpectedly. See the commit contents for detail.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
mikecaat added a commit that referenced this issue Aug 23, 2021
Add notes to warn users who use pg_rman with HA clustering 
software (ex. pacemaker).

Since the recovery.conf and postgresql.conf was integrated
from postgresql's version is 12. It leads that the recovery-related
parameters configured by pg_rman works as valid if used with 
pacemaker unexpectedly. See the commit contents for detail.

Reported-by: NTT COMWARE Corporation (Tatsuro Yamada)
@mikecaat
Copy link
Contributor Author

committed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant