Existe o
EXECUTE declaração de plpgsql , que faria o que você está tentando fazer - executar uma string de consulta SQL. Você marcou dinâmico, então isso pode ser o que você está procurando. Funciona apenas dentro de funções plpgsql ou
DO instruções (blocos de código anônimos). A distinção entre EXECUTE e SQL-EXECUTE deixou claro no manual fino:
Observação: O PL/pgSQLEXECUTEinstrução não está relacionada aoEXECUTESQLstatement suportada pelo servidor PostgreSQL. OEXECUTEdo servidor A instrução não pode ser usada diretamente dentro de funções PL/pgSQL (e não é necessária).
Se você deseja retornar valores de um
SELECT dinâmico query como seu exemplo indica, você precisa criar uma função. DO declarações sempre retornam void . Mais sobre como retornar valores de uma função no manual muito bom.