gracias sNexus, la verdad q no tngo el cd de windows ahora para formatear, y en unos dias me voy de vacaciones, asi qe cuando vuelva re vencido va estar la prueba del elephant.. asi cuando junte plata para el holdem, formateo y pruebo..
gracias por todo jesus,
probe iniciar el servicio, desde las herramientas admin. pero se inicia y luego se detiene solo.
mira tmb encontre esto..
1. Ir a la carpeta "data", (C:\Program Files\PostgreSQL\8.4\data), y comprobar si está vacío. Si lo está entonces abrir una ventana de línea de comandos y escribir lo siguiente:
initdb.exe -D "C:\Program Files\PostgreSQL\8.4\data"
La ruta donde se encuentra en comando initdb.exe es: C:\Program Files\PostgreSQL\8.4\bin
2. Añadir los permisos necesarios a la carpeta PostgreSQL y sus subcarpetas para los usuarios involucrados con el servidor PostgreSQL.
cacls "C:\Program Files\PostgreSQL" /E /T /G LAPTOP\postgres:F
cacls "C:\Program Files\PostgreSQL" /E /T /G LAPTOP\xdrtas:F
"LAPTOP\xdrtas" es en mi caso, que es el nombre de mi PC\mi usuario windows activo. Revisar cual es el nombre de la PC para el caso en particular.
3. Una vez ejecutado el paso anterior, desde la misma línea de comandos escribimos lo siguiente:
runas /user:postgres cmd
Nos pedirá la contraseña del usuario postgres, la escribimos y presionamos <<Enter>>. Esto abrirá otra ventana de línea de comandos, de momento no se va a cerrar ninguna de las ventanas de comandos abiertas, (debería haber dos ventanas).
4. En la segunda ventana abierta nos dirigimos a la siguiente ruta --> C:\Program Files\PostgreSQL\8.4\bin. desde ahí ejecutamos el siguiente comando:
pg_ctl start -D ..\data
Presionamos <<Enter>> y comienza a funcionar el servidor, lo dejamos corriendo sin cerrar esta ventana.
5. Volvemos a la primera ventana de línea de comandos y nos dirigimos a la siguiente ruta, (si es que no estamos ahí), C:\Program Files\PostgreSQL\8.4\bin y ejecutamos el siguiente comando:
psql -d postgres
6. Dentro de la herramienta psql ejecutar el comando \dg. Este comando mostrará una lista de roles que se crearon. Hay que fijarse en el nombre del rol y sus atributos, en mi caso se instaló lo siguiente:
Nombre de rol --> xdrtas
Atributos --> Superusuario | Crear rol | Crear BD
Miembro de --> {}
Como se puede observar la instalación de PostgreSQL no me creó el rol de postgres debido al fallo del instaler que no instala los archivos en la carpeta "data". Al ejecutar el comando initdb del paso 1 este comando creó el rol xdrtas que es el de mi usuario windows activo pero no me crea el del usuario postgres.
Es importante que recuerden cual es el usuario que devuelve el comando \dg para seguir con el siguiente paso.
7. Abrir la aplicación pgAdminIII. Registramos un nuevo servidor o si ya lo tenemos hacemos "click" con el botón derecho del mouse y vamos a propiedades, donde modificamos o agregamos las siguientes opciones:
Name: postgresql-8.4
Host: localhost
Port: 5432
Maintenance DB: postgres
username: xdrtas <-- Este es el usuario que me devolvió el comando \dg.
Connect now: Es una casilla de verificación, de momento desactivamos esta opción para forzar la entrada de la contraseña.
"click" en Ok o Aceptar.
8. Hacer "click" con el botón derecho del mouse sobre el servidor y hacemos "click" en connect, sale la ventana para pedir la contraseña, se introduce la contraseña y se espera unos segundos. Listo el servidor funciona.
9. Desconectamos, salimos de pgAdminIII y cerramos la segunda ventana de línea de comandos, esta es la que ejecutamos el servidor postgresql, no donde ejecutamos el comando psql, esta ventana la vamos a seguir usando.
10. Ahora vamos a instalar el servicio postgresql-8.4 para que aparezca en la herramienta services.msc. Desde la primera ventana de línea de comandos, donde se ejecutó el comando psql, insertar el comando \q para salir de la herramienta psql y volver a "c:\Program Files\PostgreSQL\8.4\bin". Desde esta ruta "c:\Program Files\PostgreSQL\8.4\bin>" ejecutamos el siguiente comando:
pg_ctl register -N postgresql-8.4 -U xdrtas -P contraseña -D "C:\Program Files\PostgreSQL\8.4\data" -w
"-U xdrtas" --> Recuerden que es muy importante fijarse en que usuario devuelve el comando \dg.
Le damos a <<Enter>> y se crea el servicio, ahora desde la herramienta services.msc se puede ver el servicio postgresql-8.4
11. Abrimos la herramienta services.msc, buscamos el servicio postgresql-8.4 y hacemos "click" con el botón derecho del mouse y abrimos las propiedades del servicio. Como se podrá observar en la pestaña "General" donde dice "Ruta de acceso al ejecutable:" notaremos que la ruta está mal escrita, pondrá algo como lo que sigue, (es probable que no se les vea exactamente igual, pero si se fijan bien podrán notar que faltan comillas y que algunos "\" están cambiados por "/"):
C:\Program Files\PostgreSQL\8.4\bin/pg_ctl.exe runservice -N "postgresql-8.4" -D "C:/Program Files/PostgreSQL/8.4/data" -w
Ahora como debería quedar:
"C:\Program Files\PostgreSQL\8.4\bin\pg_ctl.exe" runservice -N "postgresql-8.4" -D "C:\Program Files\PostgreSQL\8.4\data" -w
Las comillas (") si van incluidas en las rutas. La primera línea marcada en rojo no tiene las comillas (") en la primera ruta mostrada.
Ahora vamos a cambiar la ruta de acceso al ejecutable para que funcione la aplicación como servicio de windows.
12. Abrir la herramienta regedit, ir a la siguiente ruta: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\postgresql-8.4], buscar la clave ImagePath y hacer doble "click". En la ventana de "Editar cadena" vamos a "Información del valor" y se corrige la cadena añadiendo las comillas que falten y cambiando "/" por "\", recuerden tiene que quedar como esto:
"C:\Program Files\PostgreSQL\8.4\bin\pg_ctl.exe" runservice -N "postgresql-8.4" -D "C:\Program Files\PostgreSQL\8.4\data" -w
Hacer "click" en aceptar y salir del registro de windows.
13. Abrir la herramienta service.msc, (si lo mantuvieron abierto, hacer "click" en el botón de refrescar), y ver las propiedades del servicio postgresql-8.4.
En la pestaña "General" donde dice "Ruta de acceso al ejecutable:" la cadena de texto ya debería estar corregido.
Se hace "click" en el botón de "Aceptar" y iniciamos el servicio postgresql-8.4.
con esto supuestamente se soluciona.. pero no lo entiendo.. si lo me lo podes explicar mas sencillo?
gracias