@@ -1609,6 +1609,25 @@ user_recovery_conf() {
16091609}
16101610
16111611make_recovery_conf () {
1612+ local version
1613+
1614+ version=` cat $OCF_RESKEY_pgdata /PG_VERSION`
1615+ if [ " $OCF_RESKEY_rep_mode " = " slave" ]; then
1616+ # For slave mode in PostgreSQL 12 and later, create the tmp directory to place recovery.conf.
1617+ ocf_version_cmp " $version " " 12"
1618+ rc=$?
1619+ if [ $rc -eq 1 ]|| [ $rc -eq 2 ]; then # PosrgreSQL 12 or later.
1620+ if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir ; then
1621+ ocf_exit_reason " Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba "
1622+ return $OCF_ERR_PERM
1623+ fi
1624+ fi
1625+ else
1626+ if ! mkdir -p $OCF_RESKEY_tmpdir || ! chown $OCF_RESKEY_pgdba $OCF_RESKEY_tmpdir || ! chmod 700 $OCF_RESKEY_tmpdir ; then
1627+ ocf_exit_reason " Can't create directory $OCF_RESKEY_tmpdir or it is not readable by $OCF_RESKEY_pgdba "
1628+ return $OCF_ERR_GENERIC
1629+ fi
1630+ fi
16121631 runasowner " touch $RECOVERY_CONF "
16131632 if [ $? -ne 0 ]; then
16141633 ocf_exit_reason " Can't create recovery.conf."
@@ -1977,26 +1996,13 @@ validate_ocf_check_level_10() {
19771996 fi
19781997 fi
19791998 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
19841999 fi
19852000
19862001 if [ " $OCF_RESKEY_rep_mode " = " slave" ]; then
19872002 if ocf_is_ms; then
19882003 ocf_exit_reason " Replication(rep_mode=slave) does not support Master/Slave configuration."
19892004 return $OCF_ERR_CONFIGURED
19902005 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
20002006 fi
20012007
20022008 if use_replication_slot; then
0 commit comments