Cota de recurso de consulta para contas PostgreSQL
Nas versões mais recentes (12, 13) do PostgreSQL, há algum suporte de limitação no nível da conta do usuário, para limitar a quantidade de dados que qualquer consulta pode produzir e / ou quanto tempo + memória pode consumir nessa conta de usuário?
Eu quero limitar contas de usuário específicas para permitir uma certa quantidade de dados e / ou tempo para consumir dentro do servidor, antes de erro com "Quota de consulta excedida" ou algo parecido.
Exemplo
Desejo configurar a conta do usuário guestpara produzir falha de "cota excedida" para qualquer consulta que retorne mais de 10 kb de dados ou leve mais de 10 segundos para ser executada.
Respostas
Não há suporte para cotas de recursos no PostgreSQL.
Sua melhor aposta é statement_timeout:
ALTER ROLE baduser SET statement_timeout = '10s';
Você não pode limitar o número de linhas retornadas, mas talvez statement_timeoutseja bom o suficiente.