Instalación

Tabla de Contenido

Las instrucciones para descargar e instalar los binarios para diferentes sistemas operativos, notas adicionales y correcciones no incluidas en esta documentación se pueden encontrar en Installation wiki

Para utilizar pgRouting postGIS necesita ser instalado, por favor lea la información sobre la instalación en esta Guía de instalacoón

Versión corta

Extraer la bola de alquitrán

tar xvfz pgrouting-3.7.1.tar.gz
cd pgrouting-3.7.1

Para compilar suponiendo que tiene todas las dependencias en su ruta de búsqueda:

mkdir build
cd build
cmake  ..
make
sudo make install

Una vez que pgRouting está instalado, debe habilitarse en cada base de datos individual en la que desee utilizarlo.

createdb routing
psql routing -c 'CREATE EXTENSION PostGIS'
psql routing -c 'CREATE EXTENSION pgRouting'

Obtener las fuentes

La última versión de pgRouting se puede encontrar en https://github.com/pgRouting/pgrouting/releases/latest

Para descargar esta versión:

wget -O pgrouting-3.7.1.tar.gz    https://github.com/pgRouting/pgrouting/archive/v3.7.1.tar.gz

Ir a Versión corta para más instrucciones sobre la extraccion de la bola tar y la compilación de pgRouting.

git

Para descargar el repositorio

git clone git://github.com/pgRouting/pgrouting.git
cd pgrouting
git checkout v3.7.1

Ir a Versión corta para más instrucciones sobre la compilación de pgRouting (no hay bola tar involucrada al descargar el repositorio pgRouting desde GitHub).

Habilitación y actualización en la base de datos

Habilitación de la base de datos

pgRouting es una extensión de PostgreSQL y depende de PostGIS para proporcionar funcionalidades al usuario final. A continuación se muestra el código demuestra que permite PostGIS y pgRouting en la base de datos.

CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;

Comprobación de la versión de PostGIS y pgRouting después de habilitarlos en la base de datos.

SELECT PostGIS_full_version();
SELECT * FROM pgr_version();

Actualización de la base de datos

To upgrade pgRouting in the database to version 3.7.1 use the following command:

ALTER EXTENSION pgrouting UPDATE TO "3.7.1";

Puede hallar más información en https://www.postgresql.org/docs/current/sql-createextension.html

Dependencias

Dependencias de Compilación

Para poder compilar pgRouting, asegúrese de que se cumplen las siguientes dependencias:

  • Compiladores C y C++0x

    • Compilar con Boost 1.56 hasta Boost 1.74 requiere un compilador C++ con soporte estandard para C++03 o C++11

    • La compilación con Boost 1.75 requiere un compilador de C++ compatible con el estándar C++14

  • Versión postgresql = Versiones compatibles por PostgreSQL

  • La Biblioteca de Gráficos Boost (BGL). Versión >= 1.56

  • CMake >= 3.2

dependencias opcionales

Para la documentación del usuario

  • Sphinx >= 1.1

  • Latex

Para la documentación del desarrollador

  • Doxygen >= 1.7

Para pruebas

  • pgtap

  • pg_prove

Para uso:

  • PostGIS version >= 2.2

Ejemplo: Instalación de dependencias en linux

Instalación de las dependencias de compilación

Dependencias de bases de datos

sudo apt install postgresql-15
sudo apt install postgresql-server-dev-15
sudo apt install postgresql-15-postgis

Configurar PostgreSQL

Entrar en la consola psql

sudo systemctl start postgresql.service
sudo -i -u postgres
psql

Para salir de la consola psql

q

Se puede entrar directamente en la consola psql sin cambiar de rol mediante los siguientes comandos

sudo -u postgres psql

A continuación, utilizar el método anterior para salir de la consola psql

Comprobación de la versión de PostgreSQL

psql --version

o

Entrar a la consola psql usando el método anterior e introducir

SELECT VERSION();

Creación del rol PostgreSQL

sudo -i -u postgres
createuser --interactive

o

sudo -u postgres createuser --interactive

El rol por defecto proporcionado por PostgreSQL es postgres. Para crear nuevos roles puede utilizar los comandos proporcionados anteriromente. El prompt le pedirá al usuario que escibir el nombre del rol y confirmarlo. Proceder con los pasos y tendrá éxito en la creación de rol PostgreSQL.

Para añadir una contraseña a un rol o cambiar una contraseña previamente creada utilizar los siguientes comandos

ALTER USER <role name> PASSWORD <password>

Para obtener detalles adicionales sobre las banderas asociadas con createuser se puede utilizar el siguiente comando

man createuser

Crear una base de datos en PostgreSQL

sudo -i -u postgres
createdb <database name>

o

sudo -u postgres createdb <database name>

Conexión a una base de datos PostgreSQL

Entrar en la consola psql y escribir los siguientes comandos

connect <database name>

Construir dependencias

sudo apt install cmake
sudo apt install g++
sudo apt install libboost-graph-dev

Dependencias opcionales

Para documentación y pruebas

pip install sphinx
pip install sphinx-bootstrap-theme
sudo apt install texlive
sudo apt install doxygen
sudo apt install libtap-parser-sourcehandler-pgtap-perl
sudo apt install postgresql-15-pgtap

Configuración

pgRouting utiliza el sistema “cmake” para realizar la configuración.

El directorio de compilación es diferente del directorio de origen

Cree el directorio de compilación

$ mkdir build

Variables configurables

Para ver las variables que se pueden configurar

$ cd build
$ cmake -L ..

Configurar la documentación

La mayor parte del esfuerzo de la documentación ha estado en los archivos HTML. Algunas variables para construir la documentación:

Variable

x Defecto

Comentario

WITH_DOC

BOOL=OFF

Activar/desactivar la construcción de la documentación

BUILD_HTML

BOOL=ON

Si está activado, active/desactive la creación de HTML para la documentación del usuario

BUILD_DOXY

BOOL=ON

Si está activado, active o desactive la creación de HTML para la documentación del desarrollador

BUILD_LATEX

BOOL=OFF

Si está activado, active/desactive la creación de PDF

BUILD_MAN

BOOL=OFF

Si está activado, active/desactive las páginas MAN de construcción

DOC_USE_BOOTSTRAP

BOOL=OFF

Si está activado, utilice sphinx-bootstrap para las páginas HTML de la documentación de los usuarios

Configuración de cmake para crear documentación antes de compilar pgRouting

$ cmake -DWITH_DOC=ON -DDOC_USE_BOOTSTRAP=ON ..

Nota

La mayor parte del esfuerzo de la documentación ha estado en los archivos html.

Compilando

Uso de make para compilar el código y la documentación

Las siguientes instrucciones comienzan desde path/to/pgrouting/build

$ make          # build the code but not the documentation
$ make doc      # build only the user's documentation
$ make all doc  # build both the code and the user's documentation
$ make doxy     # build only the developer's documentation

Hemos probado en varias plataformas, Para instalar o reinstalar todos los pasos son necesarios.

Advertencia

Las firmas sql se configuran y se compilan en el comando cmake.

MinGW en Windows

$ mkdir build
$ cd build
$ cmake -G"MSYS Makefiles" ..
$ make
$ make install

Linux

Las siguientes instrucciones comienzan desde path/to/pgrouting

mkdir build
cd build
cmake  ..
make
sudo make install

Para eliminar la compilación cuando se cambie la configuración, utilizar el siguiente código:

rm -rf build

e iniciar el proceso de compilación como se mencionó anteriormente.

Pruebas

Actualmente no hay make test y las pruebas se realizan de la siguiente manera

Las siguientes instrucciones comienzan desde path/to/pgrouting/

tools/testers/doc_queries_generator.pl
createdb -U <user> ___pgr___test___
sh ./tools/testers/pg_prove_tests.sh <user>
dropdb -U <user> ___pgr___test___

Ver también

Índices y tablas