Escribo secuencia de comandos PSQL y el uso de variables (para psql --variable clave = valor sintaxis de la línea de comandos).¿Hay alguna sintaxis de escape para la variable psql dentro de las funciones de PostgreSQL?
Esto funciona perfectamente para alcance de nivel superior como select * from: clave, pero creo funciones con el script y necesito valor variable dentro de ellas.
Por lo tanto, la sintaxis como
create function foo() returns void as
$$
declare
begin
grant select on my_table to group :user;
end;
$$
language plpgsql;
falla en : usuario.
Por lo que yo entiendo, las variables psql es una función de sustitución de macro simple, pero no procesa los cuerpos de las funciones. ¿Hay alguna sintaxis de escape para tales casos? Alrededor de : usuario con $$ funciona con respecto a la sustitución, pero psql falla en $$.
¿Hay alguna otra manera de hacer esto además del procesamiento macro independiente (sed, awk, etc.)?
¿Puede tener la función foo tomar un parámetro y usarlo? – Fosco