On Wed, 16 Nov 2022 at 20:41, Andres Freund <and...@anarazel.de> wrote:

> Hi,
> You can't do catalog access below the bufmgr.c layer. It could lead to all
> kinds of nastiness, including potentially recursing back to md.c. Even
> leaving
>
Yep, this is my biggest concern. It turns out, that the way to make such a
feature is to use just GUC for all tablespaces or
forward elevel "from above".


> that aside, we can't do catalog accesses in all kinds of environments that
> this currently is active in - most importantly it's affecting the startup
> process. We don't do catalog accesses in the startup process, and even if
> we
> were to do so, we couldn't unconditionally because the catalog might not
> even
> be consistent at this point (nor is it guaranteed that the wal_level even
> allows to access catalogs during recovery).
>
Yep, that is why I do use in get_tablespace_elevel:
+       /*
+        * Use GUC level only in normal mode.
+        */
+       if (!IsNormalProcessingMode())
+               return ERROR;

Anyway, I appreciate the opinion, thank you!

-- 
Best regards,
Maxim Orlov.

Reply via email to