From: Rob Sargent <robjsargent@gmail.com>
To: Franz-Josef Färber <Franz-Josef.Faerber@stmuk.bayern.de>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>
Cc: Adrian Klaver <adrian.klaver@aklaver.com>
Cc: pgsql-general@postgresql.org, Matthias Haupt <Matthias.Haupt@stmuk.bayern.de>
Subject: Re: Why is materialized view creation a "security-restricted operation"?
Date: Tue, 13 Oct 2026 09:36:47 -0600
Message-ID: <9B7D623E-1DEF-46DC-92B3-FF9452624F5C@gmail.com> (raw)
In-Reply-To: <3b50a3393fd84d56b40cfddd67c98dbc@stmuk.bayern.de>
References: <3b50a3393fd84d56b40cfddd67c98dbc@stmuk.bayern.de>
> On Oct 13, 2026, at 08:17, Färber, Franz-Josef (StMUK) <Franz-Josef.Faerber@stmuk.bayern.de> wrote:
>
>
>>
>> Well, you want to use a materialized view for something that it cannot be used for, for security reasons. We tried to explain that in this thread.
> Yes, you can see it this way: One way would be: Using Temp Tables. This way is blocked due to security reasons. Discussion finished.
>
> Another point of view is:
> 0) The security problem is not inherent for what I was trying to archieve; but due to lack of expressiveness one is forced into this dead end.
> 1) Either: Postgres' COPY stmt lacks the ability to omit the physical table, something like SELECT * FROM COPY FROM ...
> 2) or: Postgres lacks table variables.
>
I am not clear on your workflow so these questions come to mind:
What do you do with the undefined “*” (if it were allowed)?
Would you not have to predefine the columns of the table variable?
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-general@postgresql.org
Cc: robjsargent@gmail.com, Franz-Josef.Faerber@stmuk.bayern.de, laurenz.albe@cybertec.at, adrian.klaver@aklaver.com, Matthias.Haupt@stmuk.bayern.de
Subject: Re: Why is materialized view creation a "security-restricted operation"?
In-Reply-To: <9B7D623E-1DEF-46DC-92B3-FF9452624F5C@gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox