pgsql: Ensure COPY TO on an RLS-enabled table copies no more than it sh

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Ensure COPY TO on an RLS-enabled table copies no more than it sh
Дата
Msg-id E1pahrM-002t72-Uc@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Ensure COPY TO on an RLS-enabled table copies no more than it should.

The COPY documentation is quite clear that "COPY relation TO" copies
rows from only the named table, not any inheritance children it may
have.  However, if you enabled row-level security on the table then
this stopped being true, because the code forgot to apply the ONLY
modifier in the "SELECT ... FROM relation" query that it constructs
in order to allow RLS predicates to be attached.  Fix that.

Report and patch by Antonin Houska (comment adjustments and test case
by me).  Back-patch to all supported branches.

Discussion: https://postgr.es/m/3472.1675251957@antos

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/59947bac7384ac56b5c95c69dee7655e2ed810df

Modified Files
--------------
src/backend/commands/copy.c               |  5 ++++-
src/backend/commands/copyto.c             |  4 ++--
src/test/regress/expected/rowsecurity.out | 37 +++++++++++++++++++++++++++++++
src/test/regress/sql/rowsecurity.sql      | 34 ++++++++++++++++++++++++++++
4 files changed, 77 insertions(+), 3 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Jeff Davis
Дата:
Сообщение: pgsql: initdb: derive encoding from locale for ICU; similar to libc.
Следующее
От: Jeff Davis
Дата:
Сообщение: Re: pgsql: Add standard collation UNICODE