@@ -44,7 +44,7 @@ static void create_recovery_conf(time_t backup_id,
4444 pgRestoreParams * params );
4545static void * restore_files (void * arg );
4646static void set_orphan_status (parray * backups , pgBackup * parent_backup );
47- static void create_recovery_config (pgBackup * backup , bool add_include );
47+ static void pg12_recovery_config (pgBackup * backup , bool add_include );
4848
4949
5050/*
@@ -869,20 +869,18 @@ create_recovery_conf(time_t backup_id,
869869 /* No need to generate recovery.conf at all. */
870870 if (!(need_restore_conf || params -> restore_as_replica ))
871871 {
872- #if PG_VERSION_NUM >= 120000
873872 /*
874873 * Restoring STREAM backup without PITR and not as replica,
875- * recovery.signal and standby.signal are not needed
874+ * recovery.signal and standby.signal for PG12 are not needed
876875 */
877- create_recovery_config (backup , false);
878- #endif
876+ pg12_recovery_config (backup , false);
879877 return ;
880878 }
881879
882880 elog (LOG , "----------------------------------------" );
883881#if PG_VERSION_NUM >= 120000
884882 elog (LOG , "creating probackup_recovery.conf" );
885- create_recovery_config (backup , true);
883+ pg12_recovery_config (backup , true);
886884 snprintf (path , lengthof (path ), "%s/probackup_recovery.conf" , instance_config .pgdata );
887885#else
888886 elog (LOG , "creating recovery.conf" );
@@ -1040,19 +1038,20 @@ create_recovery_conf(time_t backup_id,
10401038
10411039/*
10421040 * Create empty probackup_recovery.conf in PGDATA and
1043- * add include directive to postgresql.auto.conf
1041+ * add " include" directive to postgresql.auto.conf
10441042
10451043 * When restoring PG12 we always(!) must do this, even
1046- * when restoring STREAM backup without PITR options
1047- * because restored instance may have been backed up
1044+ * when restoring STREAM backup without PITR or replica options
1045+ * because restored instance may have been previously backed up
10481046 * and restored again and user didn`t cleaned up postgresql.auto.conf.
10491047
10501048 * So for recovery to work regardless of all this factors
10511049 * we must always create empty probackup_recovery.conf file.
10521050 */
10531051static void
1054- create_recovery_config (pgBackup * backup , bool add_include )
1052+ pg12_recovery_config (pgBackup * backup , bool add_include )
10551053{
1054+ #if PG_VERSION_NUM >= 120000
10561055 char probackup_recovery_path [MAXPGPATH ];
10571056 char postgres_auto_path [MAXPGPATH ];
10581057 FILE * fp ;
@@ -1095,6 +1094,8 @@ create_recovery_config(pgBackup *backup, bool add_include)
10951094 fio_fclose (fp ))
10961095 elog (ERROR , "cannot write to file \"%s\": %s" , probackup_recovery_path ,
10971096 strerror (errno ));
1097+ #endif
1098+ return ;
10981099}
10991100
11001101/*
0 commit comments