Para que eu possa atualizar o sistema, é necessário que nenhum usuário
esteja logado no banco. A minha dúvida é: apenas o comando ALTER
DATABASE foo CONNECTION LIMIT 0 resolveria? Se o usuário já estiver
logado, após rodado o comando descrito, esse usuário conseguirá executar
algum comando?
Infelizmente você não vai conseguir fazer o que quer, pois os usuários
já logados poderão continuar trabalhando, eles não conseguirão porém
fazer novas conexões.
Você terá de "chutar" os usuários fora da base, por exemplo:
SELECT pg_terminate_backend (pid) FROM pg_stat_activity;
Mas é bem "à força" isso, se é que me entende, tipo, transações abertas
vão ser interrompidas, o banco não vai esperar commit ou rollback.
[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral