@@ -1142,10 +1142,11 @@ pg_switch_wal(PGconn *conn)
11421142 res = pgut_execute (conn , "SET client_min_messages = warning;" , 0 , NULL );
11431143 PQclear (res );
11441144
1145- if (server_version >= 100000 )
1146- res = pgut_execute (conn , "SELECT * FROM pg_catalog.pg_switch_wal()" , 0 , NULL );
1147- else
1148- res = pgut_execute (conn , "SELECT * FROM pg_catalog.pg_switch_xlog()" , 0 , NULL );
1145+ #if PG_VERSION_NUM >= 100000
1146+ res = pgut_execute (conn , "SELECT * FROM pg_catalog.pg_switch_wal()" , 0 , NULL );
1147+ #else
1148+ res = pgut_execute (conn , "SELECT * FROM pg_catalog.pg_switch_xlog()" , 0 , NULL );
1149+ #endif
11491150
11501151 PQclear (res );
11511152}
@@ -1584,9 +1585,6 @@ wait_replica_wal_lsn(XLogRecPtr lsn, bool is_start_backup)
15841585
15851586 while (true)
15861587 {
1587- PGresult * res ;
1588- uint32 lsn_hi ;
1589- uint32 lsn_lo ;
15901588 XLogRecPtr replica_lsn ;
15911589
15921590 /*
@@ -1595,32 +1593,32 @@ wait_replica_wal_lsn(XLogRecPtr lsn, bool is_start_backup)
15951593 */
15961594 if (is_start_backup )
15971595 {
1598- if (server_version >= 100000 )
1599- res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_wal_replay_lsn()" ,
1600- 0 , NULL );
1601- else
1602- res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_xlog_replay_location()" ,
1603- 0 , NULL );
1596+ replica_lsn = get_checkpoint_location (backup_conn );
16041597 }
16051598 /*
16061599 * For lsn from pg_stop_backup() we need it only to be received by
16071600 * replica and fsync()'ed on WAL segment.
16081601 */
16091602 else
16101603 {
1611- if (server_version >= 100000 )
1612- res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_wal_receive_lsn()" ,
1613- 0 , NULL );
1614- else
1615- res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_xlog_receive_location()" ,
1616- 0 , NULL );
1617- }
1604+ PGresult * res ;
1605+ uint32 lsn_hi ;
1606+ uint32 lsn_lo ;
16181607
1619- /* Extract timeline and LSN from result */
1620- XLogDataFromLSN (PQgetvalue (res , 0 , 0 ), & lsn_hi , & lsn_lo );
1621- /* Calculate LSN */
1622- replica_lsn = ((uint64 ) lsn_hi ) << 32 | lsn_lo ;
1623- PQclear (res );
1608+ #if PG_VERSION_NUM >= 100000
1609+ res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_wal_receive_lsn()" ,
1610+ 0 , NULL );
1611+ #else
1612+ res = pgut_execute (backup_conn , "SELECT pg_catalog.pg_last_xlog_receive_location()" ,
1613+ 0 , NULL );
1614+ #endif
1615+
1616+ /* Extract LSN from result */
1617+ XLogDataFromLSN (PQgetvalue (res , 0 , 0 ), & lsn_hi , & lsn_lo );
1618+ /* Calculate LSN */
1619+ replica_lsn = ((uint64 ) lsn_hi ) << 32 | lsn_lo ;
1620+ PQclear (res );
1621+ }
16241622
16251623 /* target lsn was replicated */
16261624 if (replica_lsn >= lsn )
0 commit comments