doc: Note that CREATE MATERIALIZED VIEW restricts search_path.
authorNathan Bossart <nathan@postgresql.org>
Fri, 27 Sep 2024 21:21:21 +0000 (16:21 -0500)
committerNathan Bossart <nathan@postgresql.org>
Fri, 27 Sep 2024 21:21:21 +0000 (16:21 -0500)
Since v17, CREATE MATERIALIZED VIEW has set search_path to
"pg_catalog, pg_temp" while running the query.  The docs for the
other commands that restrict search_path mention it, but the page
for CREATE MATERIALIZED VIEW does not.  Fix that.

Oversight in commit 4b74ebf726.

Author: Yugo Nagata
Reviewed-by: Jeff Davis
Discussion: https://postgr.es/m/20240805160502.d2a4975802a832b1e04afb80%40sraoss.co.jp
Backpatch-through: 17

doc/src/sgml/ref/create_materialized_view.sgml

index 0d2fea2b97f0d613c7a63ccff1980e391099d4f9..62d897931c3141058b411db62c4b14ced69ce83f 100644 (file)
@@ -143,7 +143,9 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] <replaceable>table_name</replaceable>
       A <link linkend="sql-select"><command>SELECT</command></link>, <link linkend="sql-table"><command>TABLE</command></link>,
       or <link linkend="sql-values"><command>VALUES</command></link> command.  This query will run within a
       security-restricted operation; in particular, calls to functions that
-      themselves create temporary tables will fail.
+      themselves create temporary tables will fail.  Also, while the query is
+      running, the <xref linkend="guc-search-path"/> is temporarily changed to
+      <literal>pg_catalog, pg_temp</literal>.
      </para>
     </listitem>
    </varlistentry>