diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index ad5b6fc7035..7ccbee4855c 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -337,14 +337,16 @@ PostgreSQL documentation but to abort the dump. - For a consistent backup, the database server needs to support synchronized snapshots, - a feature that was introduced in PostgreSQL 9.2. With this - feature, database clients can ensure they see the same data set even though they use - different connections. pg_dump -j uses multiple database - connections; it connects to the database once with the master process and - once again for each worker job. Without the synchronized snapshot feature, the - different worker jobs wouldn't be guaranteed to see the same data in each connection, - which could lead to an inconsistent backup. + For a consistent backup, the database server needs to support + synchronized snapshots, a feature that was introduced in + PostgreSQL 9.2 for primary servers and 10 + for standbys. With this feature, database clients can ensure they see + the same data set even though they use different connections. + pg_dump -j uses multiple database connections; it + connects to the database once with the master process and once again + for each worker job. Without the synchronized snapshot feature, the + different worker jobs wouldn't be guaranteed to see the same data in + each connection, which could lead to an inconsistent backup. If you want to run a parallel dump of a pre-9.2 server, you need to make sure that the diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index b6e66267ffc..75f08cd7924 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -1134,9 +1134,9 @@ setup_connection(Archive *AH, const char *dumpencoding, AH->remoteVersion >= 90200 && !dopt->no_synchronized_snapshots) { - if (AH->isStandby) + if (AH->isStandby && AH->remoteVersion < 100000) exit_horribly(NULL, - "Synchronized snapshots are not supported on standby servers.\n" + "Synchronized snapshots on standby servers are not supported by this server version.\n" "Run with --no-synchronized-snapshots instead if you do not need\n" "synchronized snapshots.\n");