Sie könnten etwa so vorgehen:
with some_set as (
select set_config('search_path', '"1"', true)
)
select * from posts;
oder einfach SELECT
mit set_config()
Anrufe ohne CTE, aber das wird Ihnen im Allgemeinen nicht helfen, weil:
-
Es gibt keine Garantie dafür, dass Sie die gewünschte Ausführungsreihenfolge der Teile Ihrer Abfrage erhalten (denken Sie daran, dass SQL eine deklarative Sprache ist, siehe auch https://www.google.com/search?q =postgresql+cte+order+not+guaranteed&oq=postgresql+cte+order+&aqs=chrome.1.69i57j69i59l2j69i64.6362j0j7&sourceid=chrome&ie=UTF-8 , und https://dba.stackexchange.com /questions/86263/managing-cte-execution-order-under-uncertainty )
-
AFAIK, es gibt keine Möglichkeit, die DB-Rolle mit
SELECT
zu wechseln .