postgresql/contrib/pg_plan_advice/sql/prepared.sql
Peter Eisentraut 4f888d0f94 Fix whitespace
2026-03-16 19:33:13 +01:00

36 lines
1.1 KiB
SQL

LOAD 'pg_plan_advice';
SET max_parallel_workers_per_gather = 0;
CREATE TABLE ptab (id integer, val text) WITH (autovacuum_enabled = false);
SET pg_plan_advice.always_store_advice_details = false;
-- Not prepared, so advice should be generated.
EXPLAIN (COSTS OFF, PLAN_ADVICE)
SELECT * FROM ptab;
-- Prepared, so advice should not be generated.
PREPARE pt1 AS SELECT * FROM ptab;
EXPLAIN (COSTS OFF, PLAN_ADVICE) EXECUTE pt1;
SET pg_plan_advice.always_store_advice_details = true;
-- Prepared, but always_store_advice_details = true, so should show advice.
PREPARE pt2 AS SELECT * FROM ptab;
EXPLAIN (COSTS OFF, PLAN_ADVICE) EXECUTE pt2;
-- Not prepared, so feedback should be generated.
SET pg_plan_advice.always_store_advice_details = false;
SET pg_plan_advice.advice = 'SEQ_SCAN(ptab)';
EXPLAIN (COSTS OFF)
SELECT * FROM ptab;
-- Prepared, so advice should not be generated.
PREPARE pt3 AS SELECT * FROM ptab;
EXPLAIN (COSTS OFF) EXECUTE pt1;
SET pg_plan_advice.always_store_advice_details = true;
-- Prepared, but always_store_advice_details = true, so should show feedback.
PREPARE pt4 AS SELECT * FROM ptab;
EXPLAIN (COSTS OFF, PLAN_ADVICE) EXECUTE pt2;