Manual Postgres + POSTGIS
Manual Postgres + POSTGIS
Manual Postgres + POSTGIS
May 8, 2017
Contents
1 Introduccin
Este pequeo manual te ayudar a alcanzar un nivel de usuario en el mo-
tor de bases de datos postgres. Te permitir congurarlo, crear databases,
usuarios (roles) y asignar permisos. Adems te permitir obtener una pre-
ciosa herramienta para operaciones geogrcas: POSTGIS.
De entre todas las herramientas disponibles, PostgreSQL ha logrado de-
sarrollarse gracias a la comunidad de software libre, superando en muchas de
sus caractersticas a sus competidores privados. Es maravilloso poder saber
que podemos conar en la comunidad.
Este manual considera que no has instalado nnca el motor PostgreSQL,
pero si conoces algo del lenguaje de consulta SQL y usas el sistema operativo
libre Gnu Linux. Con esto te ser posible rpidamente adaptarte a este nuevo
vehculo contenedor de la informacin.
Como recomendacin, de entre todas las distribuciones de Gnu Linux, la
variedad ms sencilla es la que nace de la familia Debian, por lo tanto te
recomiendo utilizar un servidor con Debian instalado (o ubuntu). A esto se
suma que gran cantidad de ayuda o de otros manuales estn realizados para
usar esta familia de Gnu Linux.
Otra de las grandes caractersticas que tiene este sistema es que existe una
multitud de modulos para cada lenguaje que permiten establecer una sesin
con la base de datos en que trabajes. Te permitir disear un esquema en un
ORM (object relational mapper) e interpretarlo para crear un esquema en
SQL que permitir crear la base de datos lista para llenarla de informacin.
1
2 Instalando PostgreSQL
Vamos primero a visitar el Sitio web. Ah podremos observar las actualiza-
ciones, contenidos y eventos que se realizan en torno al motor PostgreSQL.
Luego, en la pestaa Download sera posible acceder a las distintas formas
de instalar. En tu sistema operativo particular o bien en el recomendado
Debian.
peer-->md5
2
Para la version 9.6 de postgresql ser necesario hacer lo siguiente:
nano /etc/postgresql/9.6/main
Cambiar de
Este chero se utiliza para denir los diferentes tipos de accesos que un
usuario tiene en el cluster.
Con esto tendrs habilitado el acceso a postgresql con un usuario y pass-
word de manera local.
Para mayores detalles en cuanto a conguracin te recomiendo acceder
al siguiente Documento.
sudo su
su postgres
psql
3
create role [usuario];
alter role [usuario] with login;
alter role [usuarui] with password "[contrasea]";
create database [database];
grant all privileges on database [database] to [usuario];
Con esto, tenemos la base para trabajar con PostgresSQL, sin embargo
sera necesario un poco mas de trabajo en la conguracion para trabajar con
sistemas GIS. Para ello sera necesario poner atencion en lo siguiente.
7 Python 3.5.x
./congure CFLAGS="-ftest-coverage -g -O0" CXXFLAGS="-g -O0 -pthread"
with-system-expat with-system- with-system-libmpdec with-valgrind
8 PROJ4
./congure make -j $(nproc) sudo make -j $(nproc) install
4
9 GEOS
./congure enable-python enable-ruby make -j $(nproc) sudo make -j $(nproc)
install
10 GDAL
./congure CXX=mpicxx CC=mpicc with-spatialite=/usr/local with-jasper=/usr/local
with-netcdf=/usr/local with-python=python3.6 with-java=/opt/jdk/jdk1.8.0_121
with-poppler=yes with-pg=/usr/bin/pg_cong with-sosi with-liblzma=yes
with-geos=yes with-cryptopp with-pic
10.1 LIBLAS
NAS library
10.2 HDF4
./congure prex=/usr/local disable-netcdf with-szlib enable-shared
disable-fortran
10.2.1 SZIP
./congure prex=/usr/local
10.3 HDF5
./congure CXX=mpicxx CC=mpicc prex=/usr/local enable-hl enable-
trace enable-metadata-trace-le enable-parallel enable-build-all with-szlib
10.3.1 OPEN-MPI
10.4 Netcdf
./congure CXX=mpicxx CC=mpicc CFLAGS='-fPIC' CPPFLAGS="-I/usr/local/include"
LDFLAGS="-L/usr/local/lib" prex=/usr/local enable-logging enable-
mmap enable-pnetcdf enable-jna enable-hdf4 enable-parallel-tests enable-
dot enable-internal-docs enable-fsync enable-parallel-tests disable-shared
5
10.4.1 Parallel netcdf
10.5 Jasper
mkdir buildir cmake gui cd buildir make test sudo make install
==> must be hacked version!!
export CFLAGS="-O2 -fPIC" ./congure
http://download.osgeo.org/gdal/jasper-1.900.1.uuid.tar.gz
10.6 OpenJpeg
mkdir buildir cmake gui cd buildir make test sudo make install
10.7 SOSI
git clone https://github.com/kartverket/fyba cd fyba autoreconf force
install ./congure make sudo make install cd ..
10.8 JSON-C
./autogen.sh
10.9 TIFF
http://download.osgeo.org/libtiff/tiff-4.0.7.tar.gz
10.10 Libgeoti
https://trac.osgeo.org/geotiff/
./congure with-zip with-libz with-jpeg with-libti enable-doxygen-
pdf enable-doxygen-ps enable-incode-epsg
11 GCC 6.5
./congure enable-libada enable-libssp enable-bootstrap with-system-
zlib with-mpfr=/usr/local with-gmp with-mpc
6
11.1 MPC
11.2 MPFR
11.3 GMP
12 POSTGIS
./congure with-raster with-gdalcong=/usr/local/bin/gdal-cong
And then: http://postgis.net/docs/postgis_installation.html#make_
install_postgis_extensions
13 BOOST
./build_boost ./b2
14 nghttp2
./congure PYTHON=python3.6 with-boost-asio with-boost-system with-
boost-thread with-libxml2 with-boost=/usr/local enable-asio-lib with-
cython
15 libssh2
./congure
7
-- rule based standardizer
CREATE EXTENSION address_standardizer;
-- example rule data set
CREATE EXTENSION address_standardizer_data_us;
-- Enable US Tiger Geocoder
CREATE EXTENSION postgis_tiger_geocoder;