Oi Sebastian.

> tu tens algum antivirus ou algo do gênero rodando?
Sim, tenho o Avast!. Mas provei com ele desativado e obtive os mesmos 
resultados.

> eu achei algumas threads ... .... está na lista pgbugs, será que é um bug?

_Falando de BUGs, acho que encontrei o *fio da meada*._
Pensando que podería ser questão de direitos de acesso, provei dar direitos 
de administrador ao usuario postgres. Não mudou nada.

Então provei entrar no Windows XP usando o usuario postgres (que, depois de 
modificado para ter direitos de administrador, já apareceu na apresentação 
inicial do sistema) e, numa janela de comandos, ingressei o pg_ctl start.
O servidor deu pinta de arrancar, já que me devolveu ao prompt... Provei com 
o *status* e me confirmou que o servidor estava ativo indicando o PID 
respectivo. Tentei entrar numa bd com o psql e não tive problemas.

Poréeeem.... ao tratar de fechar a janela de comandos, se congelou e saltou 
que o Windows não podía fechar o programa pg_ctl start. A única saída foi 
oprimir o botão para *Finalizar agora*. (3 vezes). Da mesma forma que se 
comportava quando usava o *runas*.
Para confirmar, abrí outra janela cmd e comprovei que o serviço havía sido 
desativado.

Partindo daí, uma coisa ficou bastante clara: Não é que o pg_ctl não levanta 
o serviço. É que o serviço, uma vez levantado, fica *atado* a essa janela de 
comandos que o levantou. O que não acontece quando usamos o net.exe, 
diretamente ou por meio dos botões do menú de Inicio.

Para confirmar esa teoría, voltei a entrar com o meu usuario normal. Tirei o 
usuario postgres do grupo de administradores e corrí o pg_ctl start com 
*runas*.
Deixei aquela janela extra, onde aparece a mensagem de *Servidor 
iniciando-se*, minimizada e voltei prá janela que chamou o programa.
Fiz varias provas e comprovei que o servidor estava ativo, pude entrar em 
uma bd, executar comandos, etc.
Fechei a janela original, abrí outra janela CMD e tudo seguia funcionando 
sem problemas.
Para terminar, usei o pg_ctl stop e a janela *extra* desapareceu com a 
confirmação de que o servidor se havía detido.

_Resumo._
Seja por que foi desenhado assim, ou seja porque se trata de un bug 
(hipótese que eu acho mais acertada). No Windows. Ao levantar o servidor 
usando o pg_ctl start, o serviço fica sujeito à janela essa cujo título é 
*pg_ctl start (executándo-se como MIMAQUINA\postgres)*. Se fechamos essa 
janela... babau... tchau serviço.

Espero que essa minha experiência sirva para alguma coisa.
Se alguém não está de acôrdo com estas conclusões, por favor, ajúde-me então 
a encontrar a forma correta de utilizar a utilidade pg_ctl para iniciar o 
servidor, em um ambiente Windows. Como já disse, é uma questão de didática. 
Quero saber se funciona, e como, para poder passar adiante.

---
Saudações conclusivas

Ricardo De Castro Aquino
Asunción - Paraguay
[EMAIL PROTECTED] (tirar NO SPAM para enviar ao privado)


_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a