Permite executar consultas em nome de outro usuário.
A primeira forma (sem subquery) estabelece que todas as consultas subsequentes na sessão atual serão executadas em nome do target_user especificado.
A segunda forma (com subquery) executa apenas a subquery especificada em nome do target_user especificado.
Para que ambas as formas funcionem, é necessário que a configuração access_control_improvements.allow_impersonate_user
esteja definida como 1 e que o privilégio IMPERSONATE tenha sido concedido. Por exemplo, os seguintes comandos
permitem que o usuário user2 execute comandos EXECUTE AS user1 ... e também permitem que o usuário user3 execute comandos como qualquer outro usuário.
Ao assumir a identidade de outro usuário, a função currentUser() retorna o nome desse outro usuário,
e a função authenticatedUser() retorna o nome do usuário que foi efetivamente autenticado.
Última modificação em 2 de julho de 2026