@@ -1609,6 +1609,24 @@ user_recovery_conf() {
16091609}
16101610
16111611make_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