Test: unbreak 033.prefer_lower_standby_delay.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Tue, 2 May 2023 00:38:44 +0000 (09:38 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Tue, 2 May 2023 00:38:44 +0000 (09:38 +0900)
Commit "7a28bbb1 Fix 033.prefer_lower_standby_delay" broke
033.prefer_lower_standby_delay for PostgreSQL 13 or before because
they do not have pg_get_wal_replay_pause_state().

src/test/regression/tests/033.prefer_lower_standby_delay/test.sh

index 6a64c318c7df5bb180a2f03603200ce37a7b0aea..af7c37146d07db3d879071d0fa01e3d628006777 100755 (executable)
@@ -10,17 +10,23 @@ PSQL="$PGBIN/psql -X "
 version=`$PSQL --version|awk '{print $3}'`
 major_version=`echo ${version%.*} | sed 's/\([0-9]*\).*/\1/'`
 
-result=`echo "$major_version >= 10"|bc`
-if [ $result == 1 ];then
+if [ $major_version -ge 10 ];then
        REPLAY_PAUSE="SELECT pg_wal_replay_pause();"
        REPLAY_RESUME="SELECT pg_wal_replay_resume();"
-       REPLAY_STATE="SELECT pg_get_wal_replay_pause_state()"
 else
        REPLAY_PAUSE="SELECT pg_xlog_replay_pause();"
        REPLAY_RESUME="SELECT pg_xlog_replay_resume();"
-       REPLAY_STATE="SELECT pg_get_xlog_replay_pause_state()"
 fi
 
+# PostgreSQL 13 or before does not have pg_get_wal_replay_pause_state().
+# In these versions SELECT pg_wal_replay_pause() immediately pauses.
+if [ $major_version -ge 14 ];then
+       REPLAY_STATE="SELECT pg_get_wal_replay_pause_state()"
+else
+       REPLAY_STATE="SELECT 'paused'"
+fi
+
+
 # node 1 port number
 PORT1=11003