Instalación

Contenido

Instructions for downloading and installing binaries for different operating systems, additional notes and corrections not included in this documentation can be found in 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.4.0.tar.gz
cd pgrouting-3.4.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

Wget

Para descargar esta versión:

wget -O pgrouting-3.4.0.tar.gz    https://github.com/pgRouting/pgrouting/archive/v3.4.0.tar.gz

Go to Versión corta for more instructions on extracting tar ball and compiling pgRouting.

git

Para descargar el repositorio

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

Go to Versión corta for more instructions on compiling pgRouting (there is no tar ball involved while downloading pgRouting repository from GitHub).

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

Habilitación de la base de datos

pgRouting is a PostgreSQL extension and depends on PostGIS to provide functionalities to end user. Below given code demonstrates enabling PostGIS and pgRouting in the database.

CREATE EXTENSION postgis;
CREATE EXTENSION pgrouting;

Checking PostGIS and pgRouting version after enabling them in the database.

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

Actualización de la base de datos

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

ALTER EXTENSION pgrouting UPDATE TO "3.4.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:

  • C and C++0x compilers

    • Compiling with Boost 1.56 up to Boost 1.74 requires C++ Compiler with C++03 or C++11 standard support

    • Compiling with Boost 1.75 requires C++ Compiler with C++14 standard support

  • 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-14
sudo apt install postgresql-server-dev-14
sudo apt install postgresql-14-postgis

Configuring PostgreSQL

Entering psql console

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

To exit psql console

q

Entering psql console directly without switching roles can be done by the following commands

sudo -u postgres psql

Then use the above given method to exit out of the psql console

Checking PostgreSQL version

psql --version

or

Enter the psql console using above given method and then enter

SELECT VERSION();

Creating PostgreSQL role

sudo -i -u postgres
createuser --interactive

or

sudo -u postgres createuser --interactive

Default role provided by PostgreSQL is postgres. To create new roles you can use the above provided commands. The prompt will ask the user to type name of the role and then provide affirmation. Proceed with the steps and you will succeed in creating PostgreSQL role successfully.

To add password to the role or change previously created password of the role use the following commands

ALTER USER <role name> PASSWORD <password>

To get additional details on the flags associated with createuser below given command can be used

man createuser

Creating Database in PostgreSQL

sudo -i -u postgres
createdb <database name>

or

sudo -u postgres createdb <database name>

Connecting to a PostgreSQL Database

Enter the psql console and type the following commands

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-14-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

Most of the effort of the documentation has been on the HTML files. Some variables for building documentation:

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

Configuring cmake to create documentation before building pgRouting

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

Nota

Most of the effort of the documentation has been on the html files.

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

To remove the build when the configuration changes, use the following code:

rm -rf build

and start the build process as mentioned previously.

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