Re: Fix search_path for all maintenance commands
От | Jeff Davis |
---|---|
Тема | Re: Fix search_path for all maintenance commands |
Дата | |
Msg-id | a5960b98b7d8b655f46b4b69387f1290f5848ad4.camel@j-davis.com обсуждение исходный текст |
Ответ на | Re: Fix search_path for all maintenance commands (Jeff Davis <pgsql@j-davis.com>) |
Ответы |
Re: Fix search_path for all maintenance commands
Re: Fix search_path for all maintenance commands Re: Fix search_path for all maintenance commands |
Список | pgsql-hackers |
On Mon, 2023-07-17 at 12:16 -0700, Jeff Davis wrote: > Based on feedback, I plan to commit soon. Attached is a new version. Changes: * Also switch the search_path during CREATE MATERIALIZED VIEW, so that it's consistent with REFRESH. As a part of this change, I slightly reordered things in ExecCreateTableAs() so that the skipData path returns early without entering the SECURITY_RESTRICTED_OPERATION. I don't think that's a problem because (a) that is one place where SECURITY_RESTRICTED_OPERATION is not used for security, but rather for consistency; and (b) that path doesn't go through rewriter, planner, or executor anyway so I don't see why it would matter. * Use GUC_ACTION_SAVE rather than GUC_ACTION_SET. That was a problem with the previous patch for index functions executed in parallel workers, which can happen calling SQL functions from pg_amcheck. * I used a wrapper function RestrictSearchPath() rather than calling set_config_option() directly. That provides a nice place in case we need to add a compatibility GUC to disable it. Question: Why do we switch to the table owner and use SECURITY_RESTRICTED_OPERATION in DefineIndex(), when we will switch in index_build (etc.) anyway? Similarly, why do we switch in vacuum_rel(), when it doesn't matter for lazy vacuum and we will switch in cluster_rel() and do_analyze_rel() anyway? For now, I left the extra calls to RestrictSearchPath() in for consistency with the switches to the table owner. Regards, Jeff Davis
Вложения
В списке pgsql-hackers по дате отправления: