marlon david de souza escreveu:

>   Gostaria de saber se no Post tem como, uma vez rodando, impedir que outros 
> usuários acessem uma ou todas as bases gerenciadas por ele.
>   Preciso disso pois estou desenvolvendo um utilitário de sincronização de 
> estruturas de bases (metadados), que, quando iniciado o processo, niguém mais 
> pode acessar a base que está sendo modificada.
Utilizando um comando do PostgreSQL, penso na seguinte solução (só
funciona para usuários normais (não-superusuários)):

============================================================

template1=# alter database regression connection limit 0;
ALTER DATABASE

============================================================

bash-3.00$ psql -U foobar regression
psql: FATAL:  muitas conex?es para banco de dados "regression"

============================================================

template1=# alter database regression connection limit -1;
ALTER DATABASE

============================================================

bash-3.00$ psql -U foobar regression
Bem vindo ao psql 8.1.4, o terminal iterativo do PostgreSQL.

Digite:  \copyright para mostrar termos de distribuição
         \h para ajuda com comandos SQL
         \? para ajuda com comandos do psql
         \g ou terminar com ponto-e-vírgula para executar a consulta
         \q para sair

regression=>

============================================================

Para que funcione com super-usuários, você deve alterar o número de
conexões reservadas para eles (parâmetro
superuser_reserved_connections).

>   (Obs: sei que existe o pg_hba.conf, mas gostaria de não ter que usá-lo).
> 
É uma outra opção, mas ter que ficar reiniciando o serviço toda hora não
é bom, ainda mais se você tem um banco de dados com uma carga
considerável.

Estou muito cansado para poder sugerir uma outra solução... :^)


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a