On Fri, 2024-10-11 at 20:45 +1300, David Rowley wrote:
> diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
> index ff689b6524..861b9cf0bc 100644
> --- a/doc/src/sgml/perform.sgml
> +++ b/doc/src/sgml/perform.sgml
> @@ -578,6 +578,34 @@ WHERE t1.unique1 < 100 AND t1.unique2 = t2.unique2;
> discussed <link linkend="using-explain-analyze">below</link>.
> </para>
>
> + <para>
> + When using the enable/disable flags to disable plan node types, the
> + majority of the flags only deprioritize the corresponding plan node
I don't like "deprioritize".
How about "discourage the use of"?
Besides, is that really the majority? I had though that only a few nodes
are unavoidable (sequential scan, sort, nested loop). But I guess I am wrong.
> + and don't outright disallow the planner's ability to use the plan node
> + type. This is done so that the planner still maintains the ability to
> + form a plan for a given query. Otherwise, certain queries would not be
> + possible to execute when certain plan node types are disabled. This means
"would not be possible to execute" can be simplified to "could be executed".
> + it is possible that the planner chooses a plan using a node that has been
> + disabled. When this happens, the <command>EXPLAIN</command> output will
> + indicate this fact.
> +
> +<screen>
> +SET enable_seqscan = off;
> +EXPLAIN SELECT * FROM unit;
> +
> + QUERY PLAN
> +---------------------------------------------------------
> + Seq Scan on unit (cost=0.00..21.30 rows=1130 width=44)
> + Disabled: true
> +</screen>
> + </para>
> +
> + <para>
> + Because the <literal>unit</literal> table has no indexes, there is no
> + other means to read the table data, so the <literal>Seq Scan</literal>
> + is the only option available to the query planner.
> + </para>
> +
Can we have "sequential scan" instead of "Seq Scan"?
It's somewhat unrelated, but I cannot count how many people I have talked
to who think that it is a "sequence scan".
Yours,
Laurenz Albe