You've already forked pg_probackup
mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2026-06-21 01:34:15 +02:00
[PGPRO-6938] macro conditions fixed
tags: pg_probackup
This commit is contained in:
@@ -27,6 +27,7 @@ notifications:
|
||||
# Default MODE is basic, i.e. all tests with PG_PROBACKUP_TEST_BASIC=ON
|
||||
env:
|
||||
- PG_VERSION=15 PG_BRANCH=master PTRACK_PATCH_PG_BRANCH=master
|
||||
- PG_VERSION=15 PG_BRANCH=REL_15_STABLE PTRACK_PATCH_PG_BRANCH=REL_15_STABLE
|
||||
- PG_VERSION=14 PG_BRANCH=REL_14_STABLE PTRACK_PATCH_PG_BRANCH=REL_14_STABLE
|
||||
- PG_VERSION=13 PG_BRANCH=REL_13_STABLE PTRACK_PATCH_PG_BRANCH=REL_13_STABLE
|
||||
- PG_VERSION=12 PG_BRANCH=REL_12_STABLE PTRACK_PATCH_PG_BRANCH=REL_12_STABLE
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
`pg_probackup` is a utility to manage backup and recovery of PostgreSQL database clusters. It is designed to perform periodic backups of the PostgreSQL instance that enable you to restore the server in case of a failure.
|
||||
|
||||
The utility is compatible with:
|
||||
* PostgreSQL 9.6, 10, 11, 12, 13, 14;
|
||||
* PostgreSQL 9.6, 10, 11, 12, 13, 14, 15;
|
||||
|
||||
As compared to other backup solutions, `pg_probackup` offers the following benefits that can help you implement different backup strategies and deal with large amounts of data:
|
||||
* Incremental backup: page-level incremental backup allows you to save disk space, speed up backup and restore. With three different incremental modes, you can plan the backup strategy in accordance with your data flow.
|
||||
@@ -41,9 +41,9 @@ Regardless of the chosen backup type, all backups taken with `pg_probackup` supp
|
||||
## ptrack support
|
||||
|
||||
`PTRACK` backup support provided via following options:
|
||||
* vanilla PostgreSQL 11, 12, 13, 14 with [ptrack extension](https://github.com/postgrespro/ptrack)
|
||||
* Postgres Pro Standard 11, 12, 13
|
||||
* Postgres Pro Enterprise 11, 12, 13
|
||||
* vanilla PostgreSQL 11, 12, 13, 14, 15 with [ptrack extension](https://github.com/postgrespro/ptrack)
|
||||
* Postgres Pro Standard 11, 12, 13, 14
|
||||
* Postgres Pro Enterprise 11, 12, 13, 14
|
||||
|
||||
## Limitations
|
||||
|
||||
@@ -74,62 +74,62 @@ Installers are available in release **assets**. [Latests](https://github.com/pos
|
||||
#DEB Ubuntu|Debian Packages
|
||||
sudo sh -c 'echo "deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup/deb/ $(lsb_release -cs) main-$(lsb_release -cs)" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
sudo wget -O - https://repo.postgrespro.ru/pg_probackup/keys/GPG-KEY-PG_PROBACKUP | sudo apt-key add - && sudo apt-get update
|
||||
sudo apt-get install pg-probackup-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg-probackup-{14,13,12,11,10,9.6}-dbg
|
||||
sudo apt-get install pg-probackup-{15,14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg-probackup-{15,14,13,12,11,10,9.6}-dbg
|
||||
|
||||
#DEB-SRC Packages
|
||||
sudo sh -c 'echo "deb-src [arch=amd64] https://repo.postgrespro.ru/pg_probackup/deb/ $(lsb_release -cs) main-$(lsb_release -cs)" >>\
|
||||
/etc/apt/sources.list.d/pg_probackup.list' && sudo apt-get update
|
||||
sudo apt-get source pg-probackup-{14,13,12,11,10,9.6}
|
||||
sudo apt-get source pg-probackup-{15,14,13,12,11,10,9.6}
|
||||
|
||||
#DEB Astra Linix Orel
|
||||
sudo sh -c 'echo "deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup/deb/ stretch main-stretch" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
sudo wget -O - https://repo.postgrespro.ru/pg_probackup/keys/GPG-KEY-PG_PROBACKUP | sudo apt-key add - && sudo apt-get update
|
||||
sudo apt-get install pg-probackup-{14,13,12,11,10,9.6}{-dbg,}
|
||||
sudo apt-get install pg-probackup-{15,14,13,12,11,10,9.6}{-dbg,}
|
||||
|
||||
#RPM Centos Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-centos.noarch.rpm
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM RHEL Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-rhel.noarch.rpm
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM Oracle Linux Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-oraclelinux.noarch.rpm
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#SRPM Centos|RHEL|OracleLinux Packages
|
||||
yumdownloader --source pg_probackup-{14,13,12,11,10,9.6}
|
||||
yumdownloader --source pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
|
||||
#RPM SUSE|SLES Packages
|
||||
zypper install --allow-unsigned-rpm -y https://repo.postgrespro.ru/pg_probackup/keys/pg_probackup-repo-suse.noarch.rpm
|
||||
zypper --gpg-auto-import-keys install -y pg_probackup-{14,13,12,11,10,9.6}
|
||||
zypper install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
zypper --gpg-auto-import-keys install -y pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
zypper install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#SRPM SUSE|SLES Packages
|
||||
zypper si pg_probackup-{14,13,12,11,10,9.6}
|
||||
zypper si pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
|
||||
#RPM ALT Linux 7
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup/rpm/latest/altlinux-p7 x86_64 vanilla" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM ALT Linux 8
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup/rpm/latest/altlinux-p8 x86_64 vanilla" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM ALT Linux 9
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup/rpm/latest/altlinux-p9 x86_64 vanilla" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{15,14,13,12,11,10,9.6}-debuginfo
|
||||
```
|
||||
|
||||
#### pg_probackup for PostgresPro Standard and Enterprise
|
||||
@@ -137,8 +137,8 @@ sudo apt-get install pg_probackup-{14,13,12,11,10,9.6}-debuginfo
|
||||
#DEB Ubuntu|Debian Packages
|
||||
sudo sh -c 'echo "deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup-forks/deb/ $(lsb_release -cs) main-$(lsb_release -cs)" > /etc/apt/sources.list.d/pg_probackup-forks.list'
|
||||
sudo wget -O - https://repo.postgrespro.ru/pg_probackup-forks/keys/GPG-KEY-PG_PROBACKUP | sudo apt-key add - && sudo apt-get update
|
||||
sudo apt-get install pg-probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
sudo apt-get install pg-probackup-{std,ent}-{13,12,11,10,9.6}-dbg
|
||||
sudo apt-get install pg-probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg-probackup-{std,ent}-{14,13,12,11,10,9.6}-dbg
|
||||
|
||||
#DEB Astra Linix Orel
|
||||
sudo sh -c 'echo "deb [arch=amd64] https://repo.postgrespro.ru/pg_probackup-forks/deb/ stretch main-stretch" > /etc/apt/sources.list.d/pg_probackup.list'
|
||||
@@ -148,35 +148,35 @@ sudo apt-get install pg-probackup-{std,ent}-{12,11,10,9.6}{-dbg,}
|
||||
|
||||
#RPM Centos Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup-forks/keys/pg_probackup-repo-forks-centos.noarch.rpm
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM RHEL Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup-forks/keys/pg_probackup-repo-forks-rhel.noarch.rpm
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM Oracle Linux Packages
|
||||
rpm -ivh https://repo.postgrespro.ru/pg_probackup-forks/keys/pg_probackup-repo-forks-oraclelinux.noarch.rpm
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
yum install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM ALT Linux 7
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/altlinux-p7 x86_64 forks" > /etc/apt/sources.list.d/pg_probackup_forks.list'
|
||||
sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM ALT Linux 8
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/altlinux-p8 x86_64 forks" > /etc/apt/sources.list.d/pg_probackup_forks.list'
|
||||
sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
|
||||
#RPM ALT Linux 9
|
||||
sudo sh -c 'echo "rpm https://repo.postgrespro.ru/pg_probackup-forks/rpm/latest/altlinux-p9 x86_64 forks" > /etc/apt/sources.list.d/pg_probackup_forks.list' && sudo apt-get update
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{13,12,11,10,9.6}-debuginfo
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}
|
||||
sudo apt-get install pg_probackup-{std,ent}-{14,13,12,11,10,9.6}-debuginfo
|
||||
```
|
||||
|
||||
Once you have `pg_probackup` installed, complete [the setup](https://postgrespro.github.io/pg_probackup/#pbk-install-and-setup).
|
||||
|
||||
+22
-1
@@ -653,7 +653,7 @@ GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() TO backup;
|
||||
COMMIT;
|
||||
</programlisting>
|
||||
<para>
|
||||
For <productname>PostgreSQL</productname> 10 or higher:
|
||||
For <productname>PostgreSQL</productname> 10:
|
||||
</para>
|
||||
<programlisting>
|
||||
BEGIN;
|
||||
@@ -672,6 +672,27 @@ GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() TO backup;
|
||||
COMMIT;
|
||||
</programlisting>
|
||||
<para>
|
||||
For <productname>PostgreSQL</productname> 15 or higher:
|
||||
</para>
|
||||
<programlisting>
|
||||
BEGIN;
|
||||
CREATE ROLE backup WITH LOGIN;
|
||||
GRANT USAGE ON SCHEMA pg_catalog TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.set_config(text, text, boolean) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_start(text, boolean) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_stop(boolean) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;
|
||||
GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() TO backup;
|
||||
COMMIT;
|
||||
</programlisting>
|
||||
<para>
|
||||
In the
|
||||
|
||||
+60
-14
@@ -1056,14 +1056,22 @@ pg_start_backup(const char *label, bool smooth, pgBackup *backup,
|
||||
uint32 lsn_lo;
|
||||
params[0] = label;
|
||||
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
elog(INFO, "wait for pg_backup_start()");
|
||||
#else
|
||||
elog(INFO, "wait for pg_start_backup()");
|
||||
#endif
|
||||
|
||||
/* 2nd argument is 'fast'*/
|
||||
params[1] = smooth ? "false" : "true";
|
||||
res = pgut_execute(conn,
|
||||
"SELECT pg_catalog.pg_backup_start($1, $2)",
|
||||
2,
|
||||
params);
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
"SELECT pg_catalog.pg_backup_start($1, $2)",
|
||||
#else
|
||||
"SELECT pg_catalog.pg_start_backup($1, $2, false)",
|
||||
#endif
|
||||
2,
|
||||
params);
|
||||
|
||||
/*
|
||||
* Set flag that pg_start_backup() was called. If an error will happen it
|
||||
@@ -1612,7 +1620,7 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
" current_timestamp(0)::timestamptz,"
|
||||
" pg_catalog.pg_backup_stop() as lsn",
|
||||
" pg_catalog.pg_stop_backup() as lsn",
|
||||
stop_backup_on_master_query[] =
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
@@ -1620,7 +1628,7 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
" lsn,"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop(false)",
|
||||
" FROM pg_catalog.pg_stop_backup(false, false)",
|
||||
stop_backup_on_master_before10_query[] =
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
@@ -1628,7 +1636,15 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
" lsn,"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop()",
|
||||
" FROM pg_catalog.pg_stop_backup(false)",
|
||||
stop_backup_on_master_after15_query[] =
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
" current_timestamp(0)::timestamptz,"
|
||||
" lsn,"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop(false)",
|
||||
/*
|
||||
* In case of backup from replica >= 9.6 we do not trust minRecPoint
|
||||
* and stop_backup LSN, so we use latest replayed LSN as STOP LSN.
|
||||
@@ -1640,7 +1656,7 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
" pg_catalog.pg_last_wal_replay_lsn(),"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop(false)",
|
||||
" FROM pg_catalog.pg_stop_backup(false, false)",
|
||||
stop_backup_on_replica_before10_query[] =
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
@@ -1648,19 +1664,33 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
" pg_catalog.pg_last_xlog_replay_location(),"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop()";
|
||||
" FROM pg_catalog.pg_stop_backup(false)",
|
||||
stop_backup_on_replica_after15_query[] =
|
||||
"SELECT"
|
||||
" pg_catalog.txid_snapshot_xmax(pg_catalog.txid_current_snapshot()),"
|
||||
" current_timestamp(0)::timestamptz,"
|
||||
" pg_catalog.pg_last_wal_replay_lsn(),"
|
||||
" labelfile,"
|
||||
" spcmapfile"
|
||||
" FROM pg_catalog.pg_backup_stop(false)";
|
||||
|
||||
const char * const stop_backup_query =
|
||||
is_exclusive ?
|
||||
stop_exlusive_backup_query :
|
||||
server_version >= 100000 ?
|
||||
server_version >= 150000 ?
|
||||
(is_started_on_replica ?
|
||||
stop_backup_on_replica_query :
|
||||
stop_backup_on_master_query
|
||||
stop_backup_on_replica_after15_query :
|
||||
stop_backup_on_master_after15_query
|
||||
) :
|
||||
(is_started_on_replica ?
|
||||
stop_backup_on_replica_before10_query :
|
||||
stop_backup_on_master_before10_query
|
||||
(server_version >= 100000 ?
|
||||
(is_started_on_replica ?
|
||||
stop_backup_on_replica_query :
|
||||
stop_backup_on_master_query
|
||||
) :
|
||||
(is_started_on_replica ?
|
||||
stop_backup_on_replica_before10_query :
|
||||
stop_backup_on_master_before10_query
|
||||
)
|
||||
);
|
||||
bool sent = false;
|
||||
|
||||
@@ -1676,7 +1706,11 @@ pg_stop_backup_send(PGconn *conn, int server_version, bool is_started_on_replica
|
||||
*/
|
||||
sent = pgut_send(conn, stop_backup_query, 0, NULL, WARNING);
|
||||
if (!sent)
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
elog(ERROR, "Failed to send pg_backup_stop query");
|
||||
#else
|
||||
elog(ERROR, "Failed to send pg_stop_backup query");
|
||||
#endif
|
||||
|
||||
/* After we have sent pg_stop_backup, we don't need this callback anymore */
|
||||
pgut_atexit_pop(backup_stopbackup_callback, &stop_callback_params);
|
||||
@@ -1722,7 +1756,11 @@ pg_stop_backup_consume(PGconn *conn, int server_version,
|
||||
if (interrupted)
|
||||
{
|
||||
pgut_cancel(conn);
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
elog(ERROR, "interrupted during waiting for pg_backup_stop");
|
||||
#else
|
||||
elog(ERROR, "interrupted during waiting for pg_stop_backup");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (pg_stop_backup_timeout == 1)
|
||||
@@ -1735,7 +1773,11 @@ pg_stop_backup_consume(PGconn *conn, int server_version,
|
||||
if (pg_stop_backup_timeout > timeout)
|
||||
{
|
||||
pgut_cancel(conn);
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
elog(ERROR, "pg_backup_stop doesn't answer in %d seconds, cancel it", timeout);
|
||||
#else
|
||||
elog(ERROR, "pg_stop_backup doesn't answer in %d seconds, cancel it", timeout);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1747,7 +1789,11 @@ pg_stop_backup_consume(PGconn *conn, int server_version,
|
||||
|
||||
/* Check successfull execution of pg_stop_backup() */
|
||||
if (!query_result)
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
elog(ERROR, "pg_backup_stop() failed");
|
||||
#else
|
||||
elog(ERROR, "pg_stop_backup() failed");
|
||||
#endif
|
||||
else
|
||||
{
|
||||
switch (PQresultStatus(query_result))
|
||||
|
||||
@@ -1773,7 +1773,11 @@ extractPageInfo(XLogReaderState *record, XLogReaderData *reader_data,
|
||||
/* Is this a special record type that I recognize? */
|
||||
|
||||
if (rmid == RM_DBASE_ID
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
&& (rminfo == XLOG_DBASE_CREATE_WAL_LOG || rminfo == XLOG_DBASE_CREATE_FILE_COPY))
|
||||
#else
|
||||
&& rminfo == XLOG_DBASE_CREATE)
|
||||
#endif
|
||||
{
|
||||
/*
|
||||
* New databases can be safely ignored. They would be completely
|
||||
@@ -1827,13 +1831,21 @@ extractPageInfo(XLogReaderState *record, XLogReaderData *reader_data,
|
||||
RmgrNames[rmid], info);
|
||||
}
|
||||
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
for (block_id = 0; block_id <= record->record->max_block_id; block_id++)
|
||||
#else
|
||||
for (block_id = 0; block_id <= record->max_block_id; block_id++)
|
||||
#endif
|
||||
{
|
||||
RelFileNode rnode;
|
||||
ForkNumber forknum;
|
||||
BlockNumber blkno;
|
||||
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
if (!XLogRecGetBlockTagExtended(record, block_id, &rnode, &forknum, &blkno, NULL))
|
||||
#else
|
||||
if (!XLogRecGetBlockTag(record, block_id, &rnode, &forknum, &blkno))
|
||||
#endif
|
||||
continue;
|
||||
|
||||
/* We only care about the main fork; others are copied as is */
|
||||
|
||||
@@ -50,6 +50,12 @@
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
#if PG_VERSION_NUM >= 150000
|
||||
// _() is explicitly undefined in libpq-int.h
|
||||
// https://github.com/postgres/postgres/commit/28ec316787674dd74d00b296724a009b6edc2fb0
|
||||
#define _(s) gettext(s)
|
||||
#endif
|
||||
|
||||
/* Wrap the code that we're going to delete after refactoring in this define*/
|
||||
#define REFACTORE_ME
|
||||
|
||||
|
||||
Reference in New Issue
Block a user