jors escribió:
Al final lo probé y parece que funcionó (simplememente
sustituyendo el
directorio data y reiniciando al servicio). Digo parece
porque cuál ha
sido mi sorpresa hoy al intentar repetir el mismo proceso
en varias
máquinas (Controladores de dominio y Workstations
indistintamente): esto
ya no funciona. Paro el servicio de postgres, sustituyo el
directorio
data y lo vuelvo a iniciar... y da un mensaje de error tal que:
"El servicio PostgreSQL Database Server 8.X se inició en
Equipo local y
después se detuvo. Algunos servicios se detienen
automáticamente si no
tienen nada que hacer, por ejemplo, el servicio de Alertas
y registros
de rendimiento"
Examina el "event log".
O bien olvidate de eso de "iniciar servicio" etc, y abre la
ventana de DOS y ejecuta postmaster en ella. Eso te
mostrara los logs.
Si opero a través de la MMC de Servicios, el event log no
muestra ningún error. Simplemente se limita a decir que los
comandos se envian correctamente y que Postgres inicia y
finaliza correctamente, lo cual no es del todo cierto. ¿Por
qué? Porque no veo los procesos (postgres.exe) en ejecución,
sino otros en su lugar (postmaster.exe y pg_ctl.exe) que me
hacen pensar que el proceso de lanzamiento no funciona bien.
Además, para finalizar estos procesos, debo "matar" el proceso
postmaster.exe desde el Administrador de Tareas.
Si opero desde consola, me dice...
C:\Archivos de programa\PostgreSQL\8.1\bin>pg_ctl.exe start -D
.\data
pg_ctl: another postmaster may be running; trying to start
postmaster anyway
Execution of PostgreSQL by a user with administrative
permissions is not permitted.
The server must be started under an unprivileged user ID to
prevent
possible system security compromises. See the documentation for
more information on how to properly start the server.
pg_ctl: could not start postmaster
Examine the log output.
Debo iniciar el servicio como usuario postgres, así que debo
especificarle usuario...
C:\Archivos de programa\PostgreSQL\8.1\bin>runas
/user:.\postgres "pg_ctl.exe start -D ..\data"
Escriba la contraseña para .\postgres:
Error RUNAS: no se puede adquirir la contraseña de usuario
No la coge, así que lo intento con el binario postmaster...
C:\Archivos de programa\PostgreSQL\8.1\bin>runas
/user:.\postgres "postmaster.exe"
Escriba la contraseña para .\postgres:
Error RUNAS: no se puede adquirir la contraseña de usuario
Nada. Inicio sesión en Windows como usuario postgres y pruebo
de ejecutar en consola y me da un problema (FATAL) de permisos
en el archivo ..\data\global\pg_control. Como administrador,
le pongo permisos al directorio data (para probar de forma
rápida) de control total al usuario NOMBRE_MAQUINA\postgres
(ojo, no confundir con un usuario de dominio,sino local), y
voilá! Ahora ya puedo gestionarlo de nuevo desde la MMC como
un servicio.
Muchas gracias de nuevo Alvaro!
---
jors - qat [ a t ] ya.com