Re: Let plan_cache_mode to be a little less strict
Sami Imseih <samimseih@gmail.com>
From: Sami Imseih <samimseih@gmail.com>
To: Andy Fan <zhihuifan1213@163.com>
Cc: Andrei Lepikhov <lepihov@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-07-31T16:52:59Z
Lists: pgsql-hackers
> This means that the configuration parameter (GUC) currently overrides > any explicit request for a plan type. The documentation does not clearly > explain the rationale behind this, at least to me. The documentation [0] mentions " If this default behavior is unsuitable, you can alter it by passing the CURSOR_OPT_GENERIC_PLAN or CURSOR_OPT_CUSTOM_PLAN flag to SPI_prepare_cursor". The default behavior here is plan_cache_mode = AUTO. But the docs leave out the fact that is plan_cache_mode is not AUTO, that the GUC settings take precedence over the cursor_options. I agree as well that is wrong. I also agree with your fix. [0] https://www.postgresql.org/docs/current/spi-spi-prepare.html -- Sami