2009/11/23 Euler Taveira de Oliveira <eu...@timbira.com>:
> Tiago Adami escreveu:
>> 2009/11/23 Euler Taveira de Oliveira <eu...@timbira.com>:
>>> JotaComm escreveu:
>>>> UPDATE pg_database SET datallowconn=FALSE WHERE datname='nome_do_banco';
>>>>
>>> Cuidado com o "tiro no pé" caso você esqueça a cláusula WHERE. O ideal é
>>> utilizar: ALTER DATABASE foo CONNECTION LIMIT 0 (é claro que super-usuários
>>> vão poder se conectar mas...).
>>
>> Ok, obrigado pelo alerta. Vou criar a função para desconectar todos os
>> usuários existentes e postarei aqui assim que concluir.
>>
>> P.S: Mas... ?
>>
> se a aplicação for mal feita (exigir super-usuário) ou alguém estiver se
> conectando como super-usuário, eles vão conseguir se conectar ao banco mesmo
> após o comando ALTER DATABASE porque super-usuários possuem uma cota de
> conexões (aka superuser_reserved_connections) além daquela especificada no
> parâmetro acima.
>
>
> --
>  Euler Taveira de Oliveira
>  http://www.timbira.com/

Perfeito. Este não será o problema visto que existem apenas 3
aplicações que conectam a este banco de dados, e cada uma possui um
usuário específico sem poderes de *super* (todas as tabelas possuem
GRANTS específicos para cada usuário de acordo com suas restrições
lógicas de cada aplicação). Isto se encaixa perfeitamente no meu caso,
pois o grande problema é quando preciso executar um script de
atualização no modelo físico e alguns usuários permanecem conectados
(mesmo implorando para fecharem os aplicativos).

Muitíssimo obrigado.


-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a