@@ -209,7 +209,25 @@ GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup
209
209
COMMIT;
210
210
```
211
211
212
- For PostgreSQL >= 9.6:
212
+ For PostgreSQL 9.6:
213
+ ```
214
+ BEGIN;
215
+ CREATE ROLE backup WITH LOGIN;
216
+ GRANT USAGE ON SCHEMA pg_catalog TO backup;
217
+ GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup;
218
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup;
219
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean, boolean) TO backup;
220
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup(boolean) TO backup;
221
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup;
222
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_xlog() TO backup;
223
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_xlog_replay_location() TO backup;
224
+ GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup;
225
+ GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup;
226
+ GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;
227
+ COMMIT;
228
+ ```
229
+
230
+ For PostgreSQL >= 10:
213
231
```
214
232
BEGIN;
215
233
CREATE ROLE backup WITH LOGIN;
@@ -220,6 +238,7 @@ GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean, boolean) TO
220
238
GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup(boolean, boolean) TO backup;
221
239
GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup;
222
240
GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup;
241
+ GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup;
223
242
GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup;
224
243
GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup;
225
244
GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup;
@@ -307,10 +326,10 @@ GRANT EXECUTE ON FUNCTION bt_index_check(oid, bool) TO backup;
307
326
If you are going to use PTRACK backups, complete the following additional steps:
308
327
309
328
- Set the parameter` ptrack_enable ` to` on ` .
310
- - Grant the rights to execute ptrack functions to the* backup* role:
329
+ - Grant the rights to execute` ptrack ` functions to the* backup* role:
311
330
312
- GRANT EXECUTE ON FUNCTION pg_ptrack_clear() TO backup;
313
- GRANT EXECUTE ON FUNCTION pg_ptrack_get_and_clear(oid, oid) TO backup;
331
+ GRANT EXECUTE ON FUNCTIONpg_catalog. pg_ptrack_clear() TO backup;
332
+ GRANT EXECUTE ON FUNCTIONpg_catalog. pg_ptrack_get_and_clear(oid, oid) TO backup;
314
333
- The* backup* role must have access to all the databases of the cluster.
315
334
316
335
##Command-Line Reference