Re: Problema reiniciando servidor con pg_ctl start

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: decastro <decastro(at)netvision(dot)com(dot)py>
Cc: Gabriel Hermes Colina Zambra <hermeszambra(at)yahoo(dot)com>, Jaime Casanova <systemguards(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Problema reiniciando servidor con pg_ctl start
Date: 2007-07-23 23:39:56
Message-ID: 20070723233956.GB2665@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

decastro escribió:

> Peeeero... al tratar de cerrar dicha ventana de comandos, me dice que
> Windows no puede cerrar el programa pg_ctl start y la única salida vuelve a
> ser el "Finalizar ahora" 3 veces. Tal y cual me pasa con la ventanita extra
> que aparece al ejecutar el pg_ctl con el *runas*.

Hmm. Me pregunto si la salida de error (el log del servicio) queda
dirigida al terminal y sera por eso que no quiere cerrarlo. Prueba
poniendo log_destination=eventlog en postgresql.conf y reintenta; con
esa configuracion, el log de Postgres ira a el log de eventos de
Windows, lo cual deberia liberar el terminal y por lo tanto deberias
poder cerrarlo.

En Unix lo que sucede es que el proceso queda ligado al terminal cuando
lo levantas con log_destination=stderr (que es el valor por omision);
por lo tanto los mensajes van al terminal. Si cierras el terminal, el
proceso se desliga (y los mensajes se pierden). Pero el proceso sigue
corriendo.

Lo que me imagino que esta pasando en Windows, es que no quiere tener un
proceso corriendo y generando mensajes cuando no hay ningun terminal
recibiendolo, lo cual explicaria que el proceso se terminara cuando
cierras el terminal.

Sospecho que ese es el motivo por el cual se te recomienda que inicies
el servicio usando net.exe. Eso haria que la salida que se genere no
quede ligada a ningun terminal.

(Nota: lo que yo llamo "terminal" es lo que tu llamas "ventana cmd").

> Sea por que fue diseñado así, o sea por que se trata de un bug (lo que es
> mi suposición). En Windows. Al levantar el servidor usando el pg_ctl start,
> dicho servicio queda sujeto a la ventana esa cuyo título es *pg_ctl start
> (ejecutándose como MIMAQUINA\postgres)*. Si se cierra dicha ventana... chau
> servicio... 8-0.

Yo diria que es mas bien un bug en Windows que en Postgres. No conozco
Windows lo suficiente como para decirte si hay alguna manera de hacer
que un proceso "suelte" su ligazon al terminal de manera que puedas
cerrar el terminal sin terminar el proceso.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-07-23 23:45:57 Re: explain analyze
Previous Message decastro 2007-07-23 19:23:31 Re: Problema reiniciando servidor con pg_ctl start