Currently, only contrib/test_decoding has this property. Use \getenv to
load the timeout value.
Discussion: https://postgr.es/m/
20220218052842.GA3627003@rfd.leadboat.com
(3 rows)
-- The above CLUSTER command shouldn't cause a timeout on 2pc decoding.
-SET statement_timeout = '180s';
+\set env_timeout ''
+\getenv env_timeout PG_TEST_TIMEOUT_DEFAULT
+SELECT COALESCE(NULLIF(:'env_timeout', ''), '180') || 's' AS timeout \gset
+SET statement_timeout = :'timeout';
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
data
---------------------------------------------------------------------------
WHERE locktype = 'relation'
AND relation = 'test_prepared1'::regclass;
-- The above CLUSTER command shouldn't cause a timeout on 2pc decoding.
-SET statement_timeout = '180s';
+\set env_timeout ''
+\getenv env_timeout PG_TEST_TIMEOUT_DEFAULT
+SELECT COALESCE(NULLIF(:'env_timeout', ''), '180') || 's' AS timeout \gset
+SET statement_timeout = :'timeout';
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
RESET statement_timeout;
COMMIT PREPARED 'test_prepared_lock';
updated3 bool;
updated4 bool;
begin
- -- we don't want to wait forever; loop will exit after 30 seconds
+ -- We don't want to wait forever. No timeout suffices if the OS drops our
+ -- stats traffic because an earlier test file left a full UDP buffer.
+ -- Hence, don't use PG_TEST_TIMEOUT_DEFAULT, which may be large for
+ -- can't-happen timeouts. Exit after 30 seconds.
for i in 1 .. 300 loop
-- With parallel query, the seqscan and indexscan on tenk2 might be done
updated3 bool;
updated4 bool;
begin
- -- we don't want to wait forever; loop will exit after 30 seconds
+ -- We don't want to wait forever. No timeout suffices if the OS drops our
+ -- stats traffic because an earlier test file left a full UDP buffer.
+ -- Hence, don't use PG_TEST_TIMEOUT_DEFAULT, which may be large for
+ -- can't-happen timeouts. Exit after 30 seconds.
for i in 1 .. 300 loop
-- With parallel query, the seqscan and indexscan on tenk2 might be done