Det finns EXECUTE uttalande av plpgsql , som skulle göra det du försöker göra - exekvera en SQL-frågesträng. Du taggade dynamisk, så det här kan vara vad du letar efter.
Fungerar bara i plpgsql-funktioner eller DO uttalanden (anonyma kodblock). Skillnaden mellan EXECUTE och SQL-EXECUTE klart i den fina manualen:
Obs! PL/pgSQL
EXECUTEsatsen är inte relaterad tillEXECUTESQL-statement som stöds av PostgreSQL-servern. ServernsEXECUTEsats kan inte användas direkt i PL/pgSQL-funktioner (och behövs inte).
Om du vill returnera värden från en dynamisk SELECT fråga som ditt exempel indikerar måste du skapa en funktion. DO uttalanden returnerar alltid void . Mer om att returnera värden från en funktion i den mycket fina manualen.