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.0.tar.gz
cd pgrouting-3.7.0
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.0.tar.gz https://github.com/pgRouting/pgrouting/archive/v3.7.0.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.0
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
Para actualizar pgRouting en la base de datos a la versión 3.7.0 utilice el siguiente comando:
ALTER EXTENSION pgrouting UPDATE TO "3.7.0";
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