Ciao a tutti sono nuovo con PostgreSQL e ho un problemino con la creazione di un ruolo da trigger:

codice:
CREATE OR REPLACE FUNCTION create_dip()
	RETURNS TRIGGER AS $$
BEGIN
	CASE
		WHEN NEW.tipo = 'Gestore' THEN
			CREATE ROLE NEW.username WITH ENCRYPTED PASSWORD NEW.username NOSUPERUSER LOGIN CONNECTION LIMIT 1 IN ROLE "gestori_compagnia";
			RETURN NEW;
		
		WHEN NEW.tipo = 'Addetto' THEN
			CREATE ROLE NEW.username WITH ENCRYPTED PASSWORD NEW.username NOSUPERUSER LOGIN CONNECTION LIMIT 1 IN ROLE "addetti_compagnia";
			RETURN NEW;
	END CASE;
	
	RETURN NULL;
END

$$ LANGUAGE plpgsql;

CREATE TRIGGER insrt_dip BEFORE INSERT ON dipendenti FOR EACH ROW EXECUTE PROCEDURE
	create_dip();
il problema è che continuo a ricevere un syntaxt error su $1 che, in questo caso, me lo segnala come NEW.username subito dopo "CREATE ROLE"....io onestamente non trovo alcun errore di sintassi....o pure mi sono perso qualcosa :master:

Grazie in anticipo