Je zde EXECUTE výpis plpgsql , což by udělalo to, o co se pokoušíte - spustit řetězec dotazu SQL. Označili jste dynamické, takže toto může být to, co hledáte.
Funguje pouze uvnitř funkcí plpgsql nebo DO výpisy (bloky anonymního kódu). Rozdíl mezi EXECUTE a SQL-EXECUTE jasně uvedeno v podrobné příručce:
Poznámka: PL/pgSQL
EXECUTEpříkaz nesouvisí s příkazemEXECUTEPříkaz SQL podporovaný serverem PostgreSQL.EXECUTEserveru příkaz nelze použít přímo ve funkcích PL/pgSQL (a není potřeba).
Pokud chcete vrátit hodnoty z dynamického SELECT dotaz, jak naznačuje váš příklad, musíte vytvořit funkci. DO příkazy vždy vracejí void . Více o vracení hodnot z funkce ve velmi jemném manuálu.