[pgbr-geral] Bloquear usuário durante atualização

2015-11-16 Por tôpico Danilo Silva
Pessoal,

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?

[]s
Danilo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Bloquear usuário durante atualização

2015-11-16 Por tôpico Fernando Cambiaghi
>
> 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.
>
> Eu faço como o Flavio citou para desconectar os usuários, com uma pequena
diferença...
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE pid <>
pg_backend_pid()
Com isso apenas o meu processo permanece conectado.
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] Bloquear usuário durante atualização

2015-11-16 Por tôpico Flavio Henrique Araque Gurgel



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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral