Wenn die Anweisungen, die Sie "auswerten" möchten, immer denselben Datentyp zurückgeben, könnten Sie eine eval()-Funktion schreiben, die das von Grzegorz erwähnte EXECUTE verwendet.
create or replace function eval(expression text) returns integer
as
$body$
declare
result integer;
begin
execute expression into result;
return result;
end;
$body$
language plpgsql
Dann könnten Sie so etwas wie
tunSELECT eval('select 41') + 1;
Dieser Ansatz funktioniert jedoch nicht, wenn Ihre dynamischen Anweisungen für jeden Ausdruck, den Sie auswerten möchten, etwas anderes zurückgeben.
Denken Sie auch daran, dass dies ein enormes Sicherheitsrisiko darstellt, wenn willkürliche Anweisungen ausgeführt werden. Ob das ein Problem ist, hängt von Ihrer Umgebung ab. Wenn dies nur in interaktiven SQL-Sitzungen verwendet wird, ist dies kein Problem.