jueves, 13 de enero de 2011

Instalación de PostGis en Windows 7

Instalación de PostgreSQL en Windows 7.

El primer paso es bajar la instalación de PostgreSQL desde aquí. La versión con la que trabajaremos es la 9.0.2-1. A continuación se inicia la instalación, la que al finalizar arrojará el siguiente error: "Problem running post-install step. Installation may not complete correctly". La solución a este problema la encontré en este sitio, y sólo se deben hacer algunos pocos cambios para que funcione todo correctamente.

  • Se debe dar permiso a los usuarios que manipulará la Base de Datos, sobre las carpetas de la instalación.
cacls "C:\Program Files\PostgreSQL" /E /T /G \postgres:F
cacls "C:\Program Files\PostgreSQL" /E /T /G \:F


Si el usuario está definido en la máquina local, debe colocarse el nombre de la máquina en lugar del nombre del dominio.

  • Ir a la carpeta C:\Program Files\PostgreSQL\9.0\data y comprobar si está vacía. En caso de ser así, abrir una consola de línea de comandos y escribir lo siguiente:
initdb.exe -D "C:\Program Files\PostgreSQL\9.0\data"

  • En la misma ventana escribir ahora
runas /user:postgres cmd

Esto pedirá que ingresemos la contraseña del usuario postgres (la misma que dimos durante la instalación) y abrirá una segunda consola para línea de comandos).

  • En la nueva ventana se debe navegar a la ruta C:\Program Files\PostgreSQL\9.0\bin y ejecutar lo siguiente:
pg_ctl start -D ..\data

con lo cual se iniciará el servidor. A continuación, y sin cerrar esta segunda ventana, volvemos a la primera y ejecutamos

psql -d postgres

  • Dentro de la herramienta ejecutamos el comando \dg
Esto mostrará una lista con los roles creados dentro de la Base de Datos. El usuario que se muestra en esta pantalla es el usuario que debemos utilizar en el paso siguiente.
  • Abrir la aplicación pgAdminIII, se debe registrar un nuevo servidor con los siguientes datos:

Name: postgresql-9.0
Host: localhost
Port: 5432
Maintenance DB: postgres
username: <-- Este es el usuario que devolvió el comando \dg.

Luego de crear la base de datos y de comprobar que podemos conectarnos, cerramos el programa.

En este punto tenemos la BD funcionando. Lo que haremos a continuación es configurar el servicio para que parta automáticamente.

  • Se abre la herramienta services.msc y se busca el servicio postgresql-9.0, ir a las propiedades del servicio y revisar la ruta del servicio, dirá algo así:
C:\Program Files\PostgreSQL\9.0\bin/pg_ctl.exe runservice -N "postgresql-9.0" -D "C:/Program Files/PostgreSQL/9.0/data" -w

Para corregir la ruta agregando las comillas que faltan y cambiando \ por /, se debe abrir el registro de windows con regedit y buscar la siguiente clave: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\postgresql-9.0, modificar el atributo ImagePath y remplazar por esto:

"C:\Program Files\PostgreSQL\9.0\bin\pg_ctl.exe" runservice -N "postgresql-9.0" -D "C:\Program Files\PostgreSQL\9.0\data" -w

  • Cerrar el registro, abrir nuevamente la herramienta services.msc y modificar el usuario con el cual se ejecuta el servicio, con el nombre del usuario de inicio del sistema. Luego de eso, iniciar el servicio.
Instalación de PostGIS

La instalación de PostGIS es sencilla. Basta con abrir la aplicación Stack Builder y una vez dentro de la herramienta elegir el servidor instalado localmente.

NOTA: Dado a que la instalación tuvo problemas, puede que no aparezca en Stack Buider nuestro servidor y sólo aparezca la opción , hasta ahora la única solución que encontré fue desinstalar nuestra recién configurada instalación de PostgreSQL y reinstalar inmediatamente en la misma ruta y sin borrar las carpetas ya configuradas y con los permisos dados. Si el rol postgres no se crea automáticamente, debe ser creado manualmente a través de pgAdmin III y darle permisos full sobre la Base de Datos.

Una vez pasado este punto debe elegirse la opción Spatial Extensions - PostGIS 1.5 for PostgreSQL 9.0

No hay comentarios:

Publicar un comentario