mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-15 18:13:18 +08:00
Remove dynamic version checks from SQL tests
The sql tests still had version checks and would run EXPLAIN with different parameters depending on postgres version. Since all supported postgres versions now support all the parameters we use we can safely remove the version check.
This commit is contained in:
parent
b93b30b0c2
commit
157764c70e
@ -9,13 +9,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
-- This file and its contents are licensed under the Apache License 2.0.
|
||||
-- Please see the included NOTICE for copyright information and
|
||||
|
@ -9,13 +9,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
-- This file and its contents are licensed under the Apache License 2.0.
|
||||
-- Please see the included NOTICE for copyright information and
|
||||
|
@ -9,13 +9,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized results" --label "Optimized results" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
-- This file and its contents are licensed under the Apache License 2.0.
|
||||
-- Please see the included NOTICE for copyright information and
|
||||
|
@ -9,13 +9,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized results" --label "Optimized results" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
-- This file and its contents are licensed under the Apache License 2.0.
|
||||
-- Please see the included NOTICE for copyright information and
|
||||
|
@ -33,7 +33,7 @@ r INTEGER;
|
||||
BEGIN
|
||||
FOR i in 1..10
|
||||
LOOP
|
||||
SELECT COUNT(*) from worker_counts where (launcher = launcher_ct OR current_setting('server_version_num')::int < 100000)
|
||||
SELECT COUNT(*) from worker_counts where launcher = launcher_ct
|
||||
AND single_scheduler = scheduler1_ct AND single_2_scheduler = scheduler2_ct and template1_scheduler = template1_ct into r;
|
||||
if(r < 1) THEN
|
||||
PERFORM pg_sleep(0.1);
|
||||
@ -317,11 +317,9 @@ SELECT backend_start as orig_backend_start
|
||||
FROM pg_stat_activity
|
||||
WHERE application_name = 'TimescaleDB Background Worker Scheduler'
|
||||
AND datname = :'TEST_DBNAME_2' \gset
|
||||
SELECT coalesce(
|
||||
(SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'TimescaleDB Background Worker Launcher'),
|
||||
(SELECT current_setting('server_version_num')::int < 100000));
|
||||
coalesce
|
||||
----------
|
||||
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'TimescaleDB Background Worker Launcher';
|
||||
pg_cancel_backend
|
||||
-------------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
@ -331,7 +329,7 @@ SELECT wait_worker_counts(1,0,1,0);
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT ((current_setting('server_version_num')::int < 100000) OR wait_greater(:'orig_backend_start', :'TEST_DBNAME_2')) as wait_greater;
|
||||
SELECT wait_greater(:'orig_backend_start', :'TEST_DBNAME_2');
|
||||
wait_greater
|
||||
--------------
|
||||
t
|
||||
@ -459,7 +457,7 @@ r INTEGER;
|
||||
BEGIN
|
||||
FOR i in 1..10
|
||||
LOOP
|
||||
SELECT COUNT(*) from worker_counts where (launcher = launcher_ct OR current_setting('server_version_num')::int < 100000)
|
||||
SELECT COUNT(*) from worker_counts where launcher = launcher_ct
|
||||
AND single_scheduler = scheduler1_ct AND single_2_scheduler = scheduler2_ct and template1_scheduler = template1_ct into r;
|
||||
if(r < 1) THEN
|
||||
PERFORM pg_sleep(0.1);
|
||||
|
@ -14,15 +14,9 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
format('%s/results/%s_results_optimized.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_OPTIMIZED",
|
||||
format('%s/results/%s_results_unoptimized.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_UNOPTIMIZED"
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_NO_ANALYZE 'EXPLAIN (costs off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
-- This file and its contents are licensed under the Apache License 2.0.
|
||||
|
@ -11,14 +11,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\ir :TEST_LOAD_NAME
|
||||
\ir :TEST_QUERY_NAME
|
||||
|
||||
|
@ -11,13 +11,7 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
SELECT format('\! diff -u --label "Unoptimized results" --label "Optimized results" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
|
||||
\ir :TEST_LOAD_NAME
|
||||
\ir :TEST_QUERY_NAME
|
||||
|
@ -146,13 +146,11 @@ FROM pg_stat_activity
|
||||
WHERE application_name = 'TimescaleDB Background Worker Scheduler'
|
||||
AND datname = :'TEST_DBNAME_2' \gset
|
||||
|
||||
SELECT coalesce(
|
||||
(SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'TimescaleDB Background Worker Launcher'),
|
||||
(SELECT current_setting('server_version_num')::int < 100000));
|
||||
SELECT pg_cancel_backend(pid) FROM pg_stat_activity WHERE application_name = 'TimescaleDB Background Worker Launcher';
|
||||
|
||||
SELECT wait_worker_counts(1,0,1,0);
|
||||
|
||||
SELECT ((current_setting('server_version_num')::int < 100000) OR wait_greater(:'orig_backend_start', :'TEST_DBNAME_2')) as wait_greater;
|
||||
SELECT wait_greater(:'orig_backend_start', :'TEST_DBNAME_2');
|
||||
|
||||
-- Make sure running pre_restore function stops background workers
|
||||
SELECT timescaledb_pre_restore();
|
||||
|
@ -21,7 +21,7 @@ r INTEGER;
|
||||
BEGIN
|
||||
FOR i in 1..10
|
||||
LOOP
|
||||
SELECT COUNT(*) from worker_counts where (launcher = launcher_ct OR current_setting('server_version_num')::int < 100000)
|
||||
SELECT COUNT(*) from worker_counts where launcher = launcher_ct
|
||||
AND single_scheduler = scheduler1_ct AND single_2_scheduler = scheduler2_ct and template1_scheduler = template1_ct into r;
|
||||
if(r < 1) THEN
|
||||
PERFORM pg_sleep(0.1);
|
||||
|
@ -16,18 +16,10 @@ SELECT format('include/%s_load.sql', :'TEST_BASE_NAME') as "TEST_LOAD_NAME",
|
||||
format('%s/results/%s_results_optimized.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_OPTIMIZED",
|
||||
format('%s/results/%s_results_unoptimized.out', :'TEST_OUTPUT_DIR', :'TEST_BASE_NAME') as "TEST_RESULTS_UNOPTIMIZED"
|
||||
\gset
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
SELECT format('\! diff -u --label "Unoptimized result" --label "Optimized result" %s %s', :'TEST_RESULTS_UNOPTIMIZED', :'TEST_RESULTS_OPTIMIZED') as "DIFF_CMD"
|
||||
\gset
|
||||
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_NO_ANALYZE 'EXPLAIN (costs off)'
|
||||
|
||||
\ir :TEST_LOAD_NAME
|
||||
|
@ -10,13 +10,7 @@ SELECT _timescaledb_internal.stop_background_workers();
|
||||
(1 row)
|
||||
|
||||
\c :TEST_DBNAME :ROLE_DEFAULT_PERM_USER
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
CREATE TABLE metrics(f1 int, f2 int, time timestamptz NOT NULL, device_id int, value float);
|
||||
SELECT create_hypertable('metrics','time');
|
||||
create_hypertable
|
||||
|
@ -10,13 +10,7 @@ SELECT _timescaledb_internal.stop_background_workers();
|
||||
(1 row)
|
||||
|
||||
\c :TEST_DBNAME :ROLE_DEFAULT_PERM_USER
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
CREATE TABLE metrics(f1 int, f2 int, time timestamptz NOT NULL, device_id int, value float);
|
||||
SELECT create_hypertable('metrics','time');
|
||||
create_hypertable
|
||||
|
@ -127,17 +127,8 @@ ANALYZE metrics_space;
|
||||
\set PREFIX ''
|
||||
\set PREFIX_VERBOSE ''
|
||||
\set ECHO none
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
SET max_parallel_workers_per_gather TO 0;
|
||||
@ -7735,17 +7726,8 @@ ORDER BY c.id;
|
||||
\set ECHO none
|
||||
-- diff compressed and uncompressed results
|
||||
:DIFF_CMD_IDX
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
SET max_parallel_workers_per_gather TO 0;
|
||||
|
@ -127,17 +127,8 @@ ANALYZE metrics_space;
|
||||
\set PREFIX ''
|
||||
\set PREFIX_VERBOSE ''
|
||||
\set ECHO none
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
SET max_parallel_workers_per_gather TO 0;
|
||||
@ -7624,17 +7615,8 @@ ORDER BY c.id;
|
||||
\set ECHO none
|
||||
-- diff compressed and uncompressed results
|
||||
:DIFF_CMD_IDX
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
SET max_parallel_workers_per_gather TO 0;
|
||||
|
@ -10,17 +10,8 @@ SELECT
|
||||
SELECT format('\! diff -u --label "Uncompressed results" --label "Compressed results" %s %s', :'TEST_RESULTS_UNCOMPRESSED', :'TEST_RESULTS_COMPRESSED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- get EXPLAIN output for all variations
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
set work_mem to '64MB';
|
||||
set max_parallel_workers_per_gather to 0;
|
||||
\set TEST_TABLE 'metrics'
|
||||
|
@ -9,17 +9,8 @@ SELECT
|
||||
SELECT format('\! diff -u --label "Uncompressed results" --label "Compressed results" %s %s', :'TEST_RESULTS_UNCOMPRESSED', :'TEST_RESULTS_COMPRESSED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- get EXPLAIN output for all variations
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
set work_mem to '64MB';
|
||||
set max_parallel_workers_per_gather to 0;
|
||||
\set TEST_TABLE 'metrics'
|
||||
|
@ -9,17 +9,8 @@ SELECT
|
||||
SELECT format('\! diff -u --label "Uncompressed results" --label "Compressed results" %s %s', :'TEST_RESULTS_UNCOMPRESSED', :'TEST_RESULTS_COMPRESSED') as "DIFF_CMD"
|
||||
\gset
|
||||
-- get EXPLAIN output for all variations
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
set work_mem to '64MB';
|
||||
set max_parallel_workers_per_gather to 0;
|
||||
\set TEST_TABLE 'metrics'
|
||||
|
@ -12,17 +12,8 @@ SELECT format('\! diff -u --label "Uncompressed results" --label "Compressed res
|
||||
\gset
|
||||
|
||||
-- get EXPLAIN output for all variations
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
|
||||
set work_mem to '64MB';
|
||||
|
||||
|
@ -11,17 +11,8 @@ SELECT format('\! diff -u --label "Uncompressed results" --label "Compressed res
|
||||
\gset
|
||||
|
||||
-- get EXPLAIN output for all variations
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
|
||||
set work_mem to '64MB';
|
||||
|
||||
|
@ -7,14 +7,7 @@
|
||||
SELECT _timescaledb_internal.stop_background_workers();
|
||||
\c :TEST_DBNAME :ROLE_DEFAULT_PERM_USER
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX"
|
||||
\gset
|
||||
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
|
||||
CREATE TABLE metrics(f1 int, f2 int, time timestamptz NOT NULL, device_id int, value float);
|
||||
SELECT create_hypertable('metrics','time');
|
||||
|
@ -113,17 +113,8 @@ SET client_min_messages TO error;
|
||||
RESET client_min_messages;
|
||||
\set ECHO all
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
@ -201,17 +192,8 @@ RESET client_min_messages;
|
||||
:DIFF_CMD_IDX
|
||||
|
||||
|
||||
-- look at postgres version to decide whether we run with analyze or without
|
||||
SELECT
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
ELSE 'EXPLAIN (costs off)'
|
||||
END AS "PREFIX",
|
||||
CASE WHEN current_setting('server_version_num')::int >= 100000
|
||||
THEN 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
ELSE 'EXPLAIN (costs off, verbose)'
|
||||
END AS "PREFIX_VERBOSE"
|
||||
\gset
|
||||
\set PREFIX 'EXPLAIN (analyze, costs off, timing off, summary off)'
|
||||
\set PREFIX_VERBOSE 'EXPLAIN (analyze, costs off, timing off, summary off, verbose)'
|
||||
|
||||
-- we disable parallelism here otherwise EXPLAIN ANALYZE output
|
||||
-- will be not stable and differ depending on worker assignment
|
||||
|
Loading…
x
Reference in New Issue
Block a user