Não é possível adicionar usuário em modo anônimo a um grupo automaticamente

Para que conste, eu “resolvi” este problema no nível do banco de dados em um fórum que administro. Use apenas se não conseguir obter outras soluções de nível superior (houve algum progresso nisso, ou alguma resposta existente deve ser marcada como “resolvida”?). Aqui está o código PostgreSQL:

create or replace function anon_insert_copy_groups_to_anon_user()
  RETURNS TRIGGER 
  LANGUAGE PLPGSQL
  AS $$
declare
  anon_user_id integer = new.user_id;
  master_user_id integer = new.master_user_id;
  active boolean = new.active;
  created_at timestamp = new.created_at;
  updated_at timestamp = new.updated_at;
BEGIN
  insert into group_users 
        (group_id,                user_id,       created_at,        updated_at,        owner, notification_level,     first_unread_pm_at)
  select group_users.group_id, anon_user_id , current_timestamp, current_timestamp, false, 3 as notification_level, current_timestamp
  from group_users 
  where group_users.user_id=master_user_id
  and   group_users.group_id not in (select group_id from group_users where group_users.user_id=anon_user_id)
  and   group_users.group_id not in (1, 2, 3); -- exclui administradores, moderadores e equipe!

  return new;
end;
$$;

-- Cria o trigger
CREATE TRIGGER anon_insert_trigger
AFTER INSERT ON anonymous_users
  FOR EACH ROW
    EXECUTE FUNCTION anon_insert_copy_groups_to_anon_user();