Skip to content

Commit 9829572

Browse files
committed
pgsql: Move the tmpdir creation process to the start action
1 parent 0c3f2cf commit 9829572

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

heartbeat/pgsql

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1609,6 +1609,24 @@ user_recovery_conf() {
16091609
}
16101610

16111611
make_recovery_conf() {
1612+
local version
1613+
version=`cat $OCF_RESKEY_pgdata/PG_VERSION`
1614+
if [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
1615+
# For slave mode in PostgreSQL 12 and later, create the tmp directory to place recovery.conf.
1616+
ocf_version_cmp "$version" "12"
1617+
rc=$?
1618+
if [ $rc -eq 1 ]||[ $rc -eq 2 ]; then # PosrgreSQL 12 or later.
1619+
if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir; then
1620+
ocf_exit_reason "Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba"
1621+
return $OCF_ERR_PERM
1622+
fi
1623+
fi
1624+
else
1625+
if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir; then
1626+
ocf_exit_reason "Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba"
1627+
return $OCF_ERR_GENERIC
1628+
fi
1629+
fi
16121630
runasowner "touch $RECOVERY_CONF"
16131631
if [ $? -ne 0 ]; then
16141632
ocf_exit_reason "Can't create recovery.conf."
@@ -1977,26 +1995,13 @@ validate_ocf_check_level_10() {
19771995
fi
19781996
fi
19791997
fi
1980-
if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir; then
1981-
ocf_exit_reason "Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba"
1982-
return $OCF_ERR_PERM
1983-
fi
19841998
fi
19851999

19862000
if [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
19872001
if ocf_is_ms; then
19882002
ocf_exit_reason "Replication(rep_mode=slave) does not support Master/Slave configuration."
19892003
return $OCF_ERR_CONFIGURED
19902004
fi
1991-
# For slave mode in PostgreSQL 12 and later, create the tmp directory to place recovery.conf.
1992-
ocf_version_cmp "$version" "12"
1993-
rc=$?
1994-
if [ $rc -eq 1 ]||[ $rc -eq 2 ]; then # PosrgreSQL 12 or later.
1995-
if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir; then
1996-
ocf_exit_reason "Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba"
1997-
return $OCF_ERR_PERM
1998-
fi
1999-
fi
20002005
fi
20012006

20022007
if use_replication_slot; then

0 commit comments

Comments
 (0)