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