jueves, 20 de mayo de 2010

Instalación de PostGis en Ubuntu Lucid y creación de una base de datos...

Pasos a seguir para la creación de una base de datos PostgreSQL con capacidades PostGis:

Instalamos PostgreSQL:
mkdir postgis-sol
cd postgis-sol/
sudo aptitude install postgresql-8.4 libproj-dev libxml2-dev postgresql-server-dev-8.4

Instalamos GEOS:
wget http://download.osgeo.org/geos/geos-3.2.2.tar.bz2
tar xvjf geos-3.2.2.tar.bz2
cd geos-3.2.2/
./configure
make
sudo checkinstall
cd ..

Instalamos PostGis:
wget http://postgis.refractions.net/download/postgis-1.5.1.tar.gz
tar xvzf postgis-1.5.1.tar.gz
cd postgis-1.5.1/
./configure
make
sudo checkinstall
sudo ldconfig

Creando una base de datos:
# nos logueamos como usuario postgres
su postgres

# creamos una plantilla para bases de datos postgis 1.5 (de dos maneras):
#1 o lo descargamos como script: http://geodjango.org/docs/create_template_postgis-1.5.sh
#2 o con el propio script:
#!/usr/bin/env bash
POSTGIS_SQL_PATH=`pg_config --sharedir`/contrib/postgis-1.5
createdb -E UTF8 template_postgis
# Creamos la plantilla para bases de datos PostGis.
createlang -d template_postgis plpgsql
# Añadimos soporte de lenguaje PLPGSQL.
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis';"
psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
# Cargamos las rutinas PostGIS SQL en la plantilla:
psql -d template_postgis -f $POSTGIS_SQL_PATH/spatial_ref_sys.sql
psql -d template_postgis -c "GRANT ALL ON geometry_columns TO PUBLIC;"
# Habilitamos a los usuarios modificar datos espaciales:
psql -d template_postgis -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d template_postgis -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"

# creada la plantilla, creamos la base de datos basada en esa plantilla:
createdb -T template_postgis base_datos

# para poder conectarnos con pgadminIII tenemos que darle premisos:
# mlocate pg_hba.conf
# cambiar la linea que dice : host all all 127.0.0.1/32 md5
# por : host all all 127.0.0.1/32 trust


Y eso es  todo, a mí me funcionó.
Suerte.