Gracias a la respuesta de @pateto777 y a otras fuentes como este y este En este caso, he conseguido tener una instalación "portable" de PostGIS en una máquina con Windows 7 sin derechos de administrador.
-
Seleccione los paquetes y descargue los archivos zip de los binarios. Yo fui por:
- postgresql-9.6.3-3-windows-x64-binaries.zip
- postgis-bundle-pg96-2.3.3x64.zip
-
Descomprime el contenido en una carpeta combinada, yo usé "pgsql", así que dentro de esta carpeta tendrás las carpetas: bin, doc, gdal-data, include, lib, pgAdmin 4, share, utils, symbols y utils. Todavía no hay carpeta "data".
-
Cree un clúster antes de utilizarlo. Utilicé un archivo por lotes en la carpeta fusionada para crearlo. Lo llamé FirstBatch.bat
@ECHO ON
REM El script establece variables de entorno útiles para PostgreSQL
@SET PATH="%~dp0bin";%PATH%
@SET PGDATA=%~dp0data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5439
@SET PGLOCALEDIR=%~dp0share \locale
"%~dp0bin \initdb " -U postgres -A trust -E utf8
ECHO "Pulse en la entrada para salir"
pausa
- Inicie postgresql. Utilicé un archivo por lotes en la carpeta fusionada para iniciarlo. Tiene que estar ejecutándose mientras quieres acceder a la base de datos. Lo llamé NormalBatch.bat.
@ECHO ON
REM El script establece variables de entorno útiles para PostgreSQL
@SET PATH="%~dp0 \bin ";%PATH%
@SET PGDATA=%~dp0 \data
@SET PGDATABASE=geodb
@SET PGUSER=postgres
@SET PGPORT=5439
@SET PGLOCALEDIR=%~dp0 \share\locale
"%~dp0bin \pg_ctl " -D "%~dp0data" -l logfile start
ECHO "Pulse enter para parar"
pausa
"%~dp0 \bin\pg_ctl " -D "%~dp0/data" stop
- Mientras se ejecuta el lote anterior, cree una geodatabase llamada "geodb". Utilicé este lote para conectarme a la shell
Interfaz de shell REM
"%~dp0bin \psql " -p 5439 -U postgres
y luego teclea:
postgres=#create database geodb;
postgres=#\connect geodb;
geodb=#CREATE EXTENSION postgis;
geodb=#CREATE EXTENSION postgis_topology;
geodb=#\q
¡Voilà! Una base de datos postGIS llamada geodb
está disponible para el usuario postgres
en el puerto 5439