Er is de EXECUTE verklaring van plpgsql , die zou doen wat u probeert te doen - een SQL-querystring uitvoeren. Je hebt dynamisch getagd, dus dit is misschien wat je zoekt.
Werkt alleen binnen plpgsql-functies of DO verklaringen (anonieme codeblokken). Het onderscheid tussen EXECUTE en SQL-EXECUTE duidelijk gemaakt in de fijne handleiding:
Opmerking: De PL/pgSQL
EXECUTEstatement is niet gerelateerd aan deEXECUTESQLstatement ondersteund door de PostgreSQL-server.EXECUTE. van de server statement kan niet direct worden gebruikt binnen PL/pgSQL-functies (en is niet nodig).
Als u waarden wilt retourneren van een dynamische SELECT query zoals uw voorbeeld aangeeft, moet u een functie maken. DO instructies retourneren altijd void . Meer over het retourneren van waarden van een functie in de zeer fijne handleiding.