pgrouting

pgrouting

pgrouting : pgRouting Extension

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
1510
pgrouting
pgrouting
4.0.1
GIS
GPL-2.0
C++
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d-r
No
Yes
No
Yes
yes
no
Relationships
Requires
plpgsql
postgis
See Also
postgis_topology
mobilitydb
pg_polyline
postgis_raster
postgis_sfcgal
postgis_tiger_geocoder
address_standardizer
address_standardizer_data_us

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PGDG
4.0.1
18
17
16
15
14
pgroutingplpgsql, postgis
RPM
PGDG
4.0.1
18
17
16
15
14
pgrouting_$v-
DEB
PGDG
4.0.1
18
17
16
15
14
postgresql-$v-pgrouting-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
el8.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
el9.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
el9.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
el10.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
el10.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
d12.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
d12.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
d13.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
d13.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
u22.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
u22.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
u24.x86_64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
u24.aarch64
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PGDG 4.0.1
PackageVersionOSORGSIZEFile URL
pgrouting_184.0.1el8.x86_64pgdg904.6 KiBpgrouting_18-4.0.1-1PGDG.rhel8.10.x86_64.rpm
pgrouting_183.8.0el8.x86_64pgdg943.4 KiBpgrouting_18-3.8.0-1PGDG.rhel8.x86_64.rpm
pgrouting_184.0.1el8.aarch64pgdg797.7 KiBpgrouting_18-4.0.1-1PGDG.rhel8.10.aarch64.rpm
pgrouting_183.8.0el8.aarch64pgdg830.6 KiBpgrouting_18-3.8.0-1PGDG.rhel8.aarch64.rpm
pgrouting_184.0.1el9.x86_64pgdg696.4 KiBpgrouting_18-4.0.1-1PGDG.rhel9.7.x86_64.rpm
pgrouting_183.8.0el9.x86_64pgdg741.6 KiBpgrouting_18-3.8.0-1PGDG.rhel9.x86_64.rpm
pgrouting_184.0.1el9.aarch64pgdg648.1 KiBpgrouting_18-4.0.1-1PGDG.rhel9.7.aarch64.rpm
pgrouting_183.8.0el9.aarch64pgdg693.5 KiBpgrouting_18-3.8.0-1PGDG.rhel9.aarch64.rpm
pgrouting_184.0.1el10.x86_64pgdg727.0 KiBpgrouting_18-4.0.1-1PGDG.rhel10.1.x86_64.rpm
pgrouting_183.8.0el10.x86_64pgdg773.0 KiBpgrouting_18-3.8.0-1PGDG.rhel10.x86_64.rpm
pgrouting_184.0.1el10.aarch64pgdg670.8 KiBpgrouting_18-4.0.1-1PGDG.rhel10.1.aarch64.rpm
pgrouting_183.8.0el10.aarch64pgdg718.9 KiBpgrouting_18-3.8.0-1PGDG.rhel10.aarch64.rpm
postgresql-18-pgrouting4.0.1d12.x86_64pgdg813.8 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg12+1_amd64.deb
postgresql-18-pgrouting4.0.1d12.aarch64pgdg695.8 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg12+1_arm64.deb
postgresql-18-pgrouting4.0.1d13.x86_64pgdg902.0 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg13+1_amd64.deb
postgresql-18-pgrouting4.0.1d13.aarch64pgdg773.0 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg13+1_arm64.deb
postgresql-18-pgrouting4.0.1u22.x86_64pgdg614.5 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg22.04+1_amd64.deb
postgresql-18-pgrouting4.0.1u22.aarch64pgdg521.9 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg22.04+1_arm64.deb
postgresql-18-pgrouting4.0.1u24.x86_64pgdg596.8 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg24.04+1_amd64.deb
postgresql-18-pgrouting4.0.1u24.aarch64pgdg518.4 KiBpostgresql-18-pgrouting_4.0.1-1.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
pgrouting_174.0.1el8.x86_64pgdg904.6 KiBpgrouting_17-4.0.1-1PGDG.rhel8.10.x86_64.rpm
pgrouting_173.8.0el8.x86_64pgdg943.4 KiBpgrouting_17-3.8.0-1PGDG.rhel8.x86_64.rpm
pgrouting_173.7.3el8.x86_64pgdg921.1 KiBpgrouting_17-3.7.3-1PGDG.rhel8.x86_64.rpm
pgrouting_173.7.1el8.x86_64pgdg965.4 KiBpgrouting_17-3.7.1-1PGDG.rhel8.x86_64.rpm
pgrouting_173.7.0el8.x86_64pgdg968.8 KiBpgrouting_17-3.7.0-1PGDG.rhel8.x86_64.rpm
pgrouting_173.6.3el8.x86_64pgdg958.6 KiBpgrouting_17-3.6.3-1PGDG.rhel8.x86_64.rpm
pgrouting_173.6.2el8.x86_64pgdg958.2 KiBpgrouting_17-3.6.2-2PGDG.rhel8.x86_64.rpm
pgrouting_174.0.1el8.aarch64pgdg797.7 KiBpgrouting_17-4.0.1-1PGDG.rhel8.10.aarch64.rpm
pgrouting_173.8.0el8.aarch64pgdg830.6 KiBpgrouting_17-3.8.0-1PGDG.rhel8.aarch64.rpm
pgrouting_173.7.3el8.aarch64pgdg810.2 KiBpgrouting_17-3.7.3-1PGDG.rhel8.aarch64.rpm
pgrouting_173.7.1el8.aarch64pgdg849.0 KiBpgrouting_17-3.7.1-1PGDG.rhel8.aarch64.rpm
pgrouting_173.7.0el8.aarch64pgdg852.4 KiBpgrouting_17-3.7.0-1PGDG.rhel8.aarch64.rpm
pgrouting_173.6.3el8.aarch64pgdg840.0 KiBpgrouting_17-3.6.3-1PGDG.rhel8.aarch64.rpm
pgrouting_173.6.2el8.aarch64pgdg839.3 KiBpgrouting_17-3.6.2-2PGDG.rhel8.aarch64.rpm
pgrouting_174.0.1el9.x86_64pgdg696.5 KiBpgrouting_17-4.0.1-1PGDG.rhel9.7.x86_64.rpm
pgrouting_173.8.0el9.x86_64pgdg741.9 KiBpgrouting_17-3.8.0-1PGDG.rhel9.x86_64.rpm
pgrouting_173.7.3el9.x86_64pgdg719.1 KiBpgrouting_17-3.7.3-1PGDG.rhel9.x86_64.rpm
pgrouting_173.7.1el9.x86_64pgdg748.4 KiBpgrouting_17-3.7.1-1PGDG.rhel9.x86_64.rpm
pgrouting_173.7.0el9.x86_64pgdg752.6 KiBpgrouting_17-3.7.0-1PGDG.rhel9.x86_64.rpm
pgrouting_173.6.3el9.x86_64pgdg738.2 KiBpgrouting_17-3.6.3-1PGDG.rhel9.x86_64.rpm
pgrouting_173.6.2el9.x86_64pgdg737.4 KiBpgrouting_17-3.6.2-2PGDG.rhel9.x86_64.rpm
pgrouting_174.0.1el9.aarch64pgdg648.4 KiBpgrouting_17-4.0.1-1PGDG.rhel9.7.aarch64.rpm
pgrouting_173.8.0el9.aarch64pgdg693.0 KiBpgrouting_17-3.8.0-1PGDG.rhel9.aarch64.rpm
pgrouting_173.7.3el9.aarch64pgdg671.5 KiBpgrouting_17-3.7.3-1PGDG.rhel9.aarch64.rpm
pgrouting_173.7.1el9.aarch64pgdg699.2 KiBpgrouting_17-3.7.1-1PGDG.rhel9.aarch64.rpm
pgrouting_173.7.0el9.aarch64pgdg701.7 KiBpgrouting_17-3.7.0-1PGDG.rhel9.aarch64.rpm
pgrouting_173.6.3el9.aarch64pgdg688.7 KiBpgrouting_17-3.6.3-1PGDG.rhel9.aarch64.rpm
pgrouting_173.6.2el9.aarch64pgdg688.0 KiBpgrouting_17-3.6.2-2PGDG.rhel9.aarch64.rpm
pgrouting_174.0.1el10.x86_64pgdg726.9 KiBpgrouting_17-4.0.1-1PGDG.rhel10.1.x86_64.rpm
pgrouting_173.8.0el10.x86_64pgdg772.5 KiBpgrouting_17-3.8.0-1PGDG.rhel10.x86_64.rpm
pgrouting_174.0.1el10.aarch64pgdg670.5 KiBpgrouting_17-4.0.1-1PGDG.rhel10.1.aarch64.rpm
pgrouting_173.8.0el10.aarch64pgdg719.0 KiBpgrouting_17-3.8.0-1PGDG.rhel10.aarch64.rpm
postgresql-17-pgrouting4.0.1d12.x86_64pgdg813.7 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg12+1_amd64.deb
postgresql-17-pgrouting4.0.1d12.aarch64pgdg695.5 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg12+1_arm64.deb
postgresql-17-pgrouting4.0.1d13.x86_64pgdg902.8 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg13+1_amd64.deb
postgresql-17-pgrouting4.0.1d13.aarch64pgdg772.8 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg13+1_arm64.deb
postgresql-17-pgrouting4.0.1u22.x86_64pgdg614.6 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg22.04+1_amd64.deb
postgresql-17-pgrouting4.0.1u22.aarch64pgdg522.0 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg22.04+1_arm64.deb
postgresql-17-pgrouting4.0.1u24.x86_64pgdg596.8 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg24.04+1_amd64.deb
postgresql-17-pgrouting4.0.1u24.aarch64pgdg518.6 KiBpostgresql-17-pgrouting_4.0.1-1.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
pgrouting_164.0.1el8.x86_64pgdg904.6 KiBpgrouting_16-4.0.1-1PGDG.rhel8.10.x86_64.rpm
pgrouting_163.8.0el8.x86_64pgdg943.4 KiBpgrouting_16-3.8.0-1PGDG.rhel8.x86_64.rpm
pgrouting_163.7.3el8.x86_64pgdg921.1 KiBpgrouting_16-3.7.3-1PGDG.rhel8.x86_64.rpm
pgrouting_163.7.1el8.x86_64pgdg965.4 KiBpgrouting_16-3.7.1-1PGDG.rhel8.x86_64.rpm
pgrouting_163.7.0el8.x86_64pgdg968.8 KiBpgrouting_16-3.7.0-1PGDG.rhel8.x86_64.rpm
pgrouting_163.6.3el8.x86_64pgdg958.6 KiBpgrouting_16-3.6.3-1PGDG.rhel8.x86_64.rpm
pgrouting_163.6.0el8.x86_64pgdg956.8 KiBpgrouting_16-3.6.0-1PGDG.rhel8.x86_64.rpm
pgrouting_163.5.0el8.x86_64pgdg939.1 KiBpgrouting_16-3.5.0-1.rhel8.x86_64.rpm
pgrouting_164.0.1el8.aarch64pgdg797.7 KiBpgrouting_16-4.0.1-1PGDG.rhel8.10.aarch64.rpm
pgrouting_163.8.0el8.aarch64pgdg830.6 KiBpgrouting_16-3.8.0-1PGDG.rhel8.aarch64.rpm
pgrouting_163.7.3el8.aarch64pgdg810.1 KiBpgrouting_16-3.7.3-1PGDG.rhel8.aarch64.rpm
pgrouting_163.7.1el8.aarch64pgdg849.0 KiBpgrouting_16-3.7.1-1PGDG.rhel8.aarch64.rpm
pgrouting_163.7.0el8.aarch64pgdg852.4 KiBpgrouting_16-3.7.0-1PGDG.rhel8.aarch64.rpm
pgrouting_163.6.3el8.aarch64pgdg840.0 KiBpgrouting_16-3.6.3-1PGDG.rhel8.aarch64.rpm
pgrouting_163.6.0el8.aarch64pgdg837.9 KiBpgrouting_16-3.6.0-1PGDG.rhel8.aarch64.rpm
pgrouting_163.5.0el8.aarch64pgdg818.8 KiBpgrouting_16-3.5.0-1.rhel8.aarch64.rpm
pgrouting_164.0.1el9.x86_64pgdg696.8 KiBpgrouting_16-4.0.1-1PGDG.rhel9.7.x86_64.rpm
pgrouting_163.8.0el9.x86_64pgdg741.7 KiBpgrouting_16-3.8.0-1PGDG.rhel9.x86_64.rpm
pgrouting_163.7.3el9.x86_64pgdg719.2 KiBpgrouting_16-3.7.3-1PGDG.rhel9.x86_64.rpm
pgrouting_163.7.1el9.x86_64pgdg749.5 KiBpgrouting_16-3.7.1-1PGDG.rhel9.x86_64.rpm
pgrouting_163.7.0el9.x86_64pgdg752.4 KiBpgrouting_16-3.7.0-1PGDG.rhel9.x86_64.rpm
pgrouting_163.6.3el9.x86_64pgdg738.1 KiBpgrouting_16-3.6.3-1PGDG.rhel9.x86_64.rpm
pgrouting_163.6.0el9.x86_64pgdg736.8 KiBpgrouting_16-3.6.0-1PGDG.rhel9.x86_64.rpm
pgrouting_163.5.0el9.x86_64pgdg732.6 KiBpgrouting_16-3.5.0-1.rhel9.x86_64.rpm
pgrouting_164.0.1el9.aarch64pgdg648.6 KiBpgrouting_16-4.0.1-1PGDG.rhel9.7.aarch64.rpm
pgrouting_163.8.0el9.aarch64pgdg693.1 KiBpgrouting_16-3.8.0-1PGDG.rhel9.aarch64.rpm
pgrouting_163.7.3el9.aarch64pgdg671.6 KiBpgrouting_16-3.7.3-1PGDG.rhel9.aarch64.rpm
pgrouting_163.7.1el9.aarch64pgdg698.7 KiBpgrouting_16-3.7.1-1PGDG.rhel9.aarch64.rpm
pgrouting_163.7.0el9.aarch64pgdg702.0 KiBpgrouting_16-3.7.0-1PGDG.rhel9.aarch64.rpm
pgrouting_163.6.3el9.aarch64pgdg688.8 KiBpgrouting_16-3.6.3-1PGDG.rhel9.aarch64.rpm
pgrouting_163.6.0el9.aarch64pgdg688.7 KiBpgrouting_16-3.6.0-1PGDG.rhel9.aarch64.rpm
pgrouting_163.5.0el9.aarch64pgdg688.2 KiBpgrouting_16-3.5.0-1.rhel9.aarch64.rpm
pgrouting_164.0.1el10.x86_64pgdg726.7 KiBpgrouting_16-4.0.1-1PGDG.rhel10.1.x86_64.rpm
pgrouting_163.8.0el10.x86_64pgdg772.5 KiBpgrouting_16-3.8.0-1PGDG.rhel10.x86_64.rpm
pgrouting_164.0.1el10.aarch64pgdg670.6 KiBpgrouting_16-4.0.1-1PGDG.rhel10.1.aarch64.rpm
pgrouting_163.8.0el10.aarch64pgdg718.9 KiBpgrouting_16-3.8.0-1PGDG.rhel10.aarch64.rpm
postgresql-16-pgrouting4.0.1d12.x86_64pgdg813.9 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg12+1_amd64.deb
postgresql-16-pgrouting4.0.1d12.aarch64pgdg695.4 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg12+1_arm64.deb
postgresql-16-pgrouting4.0.1d13.x86_64pgdg902.5 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg13+1_amd64.deb
postgresql-16-pgrouting4.0.1d13.aarch64pgdg772.9 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg13+1_arm64.deb
postgresql-16-pgrouting4.0.1u22.x86_64pgdg614.5 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg22.04+1_amd64.deb
postgresql-16-pgrouting4.0.1u22.aarch64pgdg521.8 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg22.04+1_arm64.deb
postgresql-16-pgrouting4.0.1u24.x86_64pgdg596.9 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg24.04+1_amd64.deb
postgresql-16-pgrouting4.0.1u24.aarch64pgdg518.6 KiBpostgresql-16-pgrouting_4.0.1-1.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
pgrouting_154.0.1el8.x86_64pgdg904.6 KiBpgrouting_15-4.0.1-1PGDG.rhel8.10.x86_64.rpm
pgrouting_153.8.0el8.x86_64pgdg943.4 KiBpgrouting_15-3.8.0-1PGDG.rhel8.x86_64.rpm
pgrouting_153.7.3el8.x86_64pgdg921.1 KiBpgrouting_15-3.7.3-1PGDG.rhel8.x86_64.rpm
pgrouting_153.7.1el8.x86_64pgdg965.4 KiBpgrouting_15-3.7.1-1PGDG.rhel8.x86_64.rpm
pgrouting_153.7.0el8.x86_64pgdg968.8 KiBpgrouting_15-3.7.0-1PGDG.rhel8.x86_64.rpm
pgrouting_153.6.3el8.x86_64pgdg958.6 KiBpgrouting_15-3.6.3-1PGDG.rhel8.x86_64.rpm
pgrouting_153.6.0el8.x86_64pgdg956.8 KiBpgrouting_15-3.6.0-1PGDG.rhel8.x86_64.rpm
pgrouting_153.5.0el8.x86_64pgdg938.5 KiBpgrouting_15-3.5.0-1.rhel8.x86_64.rpm
pgrouting_153.4.2el8.x86_64pgdg918.2 KiBpgrouting_15-3.4.2-2.rhel8.x86_64.rpm
pgrouting_153.4.1el8.x86_64pgdg917.5 KiBpgrouting_15-3.4.1-1.rhel8.x86_64.rpm
pgrouting_153.4.0el8.x86_64pgdg915.9 KiBpgrouting_15-3.4.0-1.rhel8.x86_64.rpm
pgrouting_153.3.4el8.x86_64pgdg868.7 KiBpgrouting_15-3.3.4-1.rhel8.x86_64.rpm
pgrouting_153.3.3el8.x86_64pgdg868.4 KiBpgrouting_15-3.3.3-1.rhel8.x86_64.rpm
pgrouting_153.2.2el8.x86_64pgdg847.9 KiBpgrouting_15-3.2.2-1.rhel8.x86_64.rpm
pgrouting_153.1.4el8.x86_64pgdg789.4 KiBpgrouting_15-3.1.4-1.rhel8.x86_64.rpm
pgrouting_154.0.1el8.aarch64pgdg797.7 KiBpgrouting_15-4.0.1-1PGDG.rhel8.10.aarch64.rpm
pgrouting_153.8.0el8.aarch64pgdg830.6 KiBpgrouting_15-3.8.0-1PGDG.rhel8.aarch64.rpm
pgrouting_153.7.3el8.aarch64pgdg810.1 KiBpgrouting_15-3.7.3-1PGDG.rhel8.aarch64.rpm
pgrouting_153.7.1el8.aarch64pgdg849.0 KiBpgrouting_15-3.7.1-1PGDG.rhel8.aarch64.rpm
pgrouting_153.7.0el8.aarch64pgdg852.4 KiBpgrouting_15-3.7.0-1PGDG.rhel8.aarch64.rpm
pgrouting_153.6.3el8.aarch64pgdg840.0 KiBpgrouting_15-3.6.3-1PGDG.rhel8.aarch64.rpm
pgrouting_153.6.0el8.aarch64pgdg837.9 KiBpgrouting_15-3.6.0-1PGDG.rhel8.aarch64.rpm
pgrouting_153.5.0el8.aarch64pgdg818.5 KiBpgrouting_15-3.5.0-1.rhel8.aarch64.rpm
pgrouting_153.4.2el8.aarch64pgdg821.6 KiBpgrouting_15-3.4.2-2.rhel8.aarch64.rpm
pgrouting_153.4.1el8.aarch64pgdg821.3 KiBpgrouting_15-3.4.1-1.rhel8.aarch64.rpm
pgrouting_153.4.0el8.aarch64pgdg819.7 KiBpgrouting_15-3.4.0-1.rhel8.aarch64.rpm
pgrouting_153.3.4el8.aarch64pgdg775.5 KiBpgrouting_15-3.3.4-1.rhel8.aarch64.rpm
pgrouting_153.1.4el8.aarch64pgdg710.5 KiBpgrouting_15-3.1.4-1.rhel8.aarch64.rpm
pgrouting_154.0.1el9.x86_64pgdg696.6 KiBpgrouting_15-4.0.1-1PGDG.rhel9.7.x86_64.rpm
pgrouting_153.8.0el9.x86_64pgdg741.7 KiBpgrouting_15-3.8.0-1PGDG.rhel9.x86_64.rpm
pgrouting_153.7.3el9.x86_64pgdg719.1 KiBpgrouting_15-3.7.3-1PGDG.rhel9.x86_64.rpm
pgrouting_153.7.1el9.x86_64pgdg749.1 KiBpgrouting_15-3.7.1-1PGDG.rhel9.x86_64.rpm
pgrouting_153.7.0el9.x86_64pgdg752.0 KiBpgrouting_15-3.7.0-1PGDG.rhel9.x86_64.rpm
pgrouting_153.6.3el9.x86_64pgdg738.2 KiBpgrouting_15-3.6.3-1PGDG.rhel9.x86_64.rpm
pgrouting_153.6.0el9.x86_64pgdg736.4 KiBpgrouting_15-3.6.0-1PGDG.rhel9.x86_64.rpm
pgrouting_153.5.0el9.x86_64pgdg732.8 KiBpgrouting_15-3.5.0-1.rhel9.x86_64.rpm
pgrouting_153.4.2el9.x86_64pgdg733.5 KiBpgrouting_15-3.4.2-2.rhel9.x86_64.rpm
pgrouting_153.4.1el9.x86_64pgdg732.1 KiBpgrouting_15-3.4.1-1.rhel9.x86_64.rpm
pgrouting_153.4.0el9.x86_64pgdg729.2 KiBpgrouting_15-3.4.0-1.rhel9.x86_64.rpm
pgrouting_153.3.4el9.x86_64pgdg698.0 KiBpgrouting_15-3.3.4-1.rhel9.x86_64.rpm
pgrouting_153.3.3el9.x86_64pgdg698.3 KiBpgrouting_15-3.3.3-1.rhel9.x86_64.rpm
pgrouting_153.2.2el9.x86_64pgdg684.9 KiBpgrouting_15-3.2.2-1.rhel9.x86_64.rpm
pgrouting_153.1.4el9.x86_64pgdg654.4 KiBpgrouting_15-3.1.4-1.rhel9.x86_64.rpm
pgrouting_154.0.1el9.aarch64pgdg648.3 KiBpgrouting_15-4.0.1-1PGDG.rhel9.7.aarch64.rpm
pgrouting_153.8.0el9.aarch64pgdg693.5 KiBpgrouting_15-3.8.0-1PGDG.rhel9.aarch64.rpm
pgrouting_153.7.3el9.aarch64pgdg671.6 KiBpgrouting_15-3.7.3-1PGDG.rhel9.aarch64.rpm
pgrouting_153.7.1el9.aarch64pgdg698.9 KiBpgrouting_15-3.7.1-1PGDG.rhel9.aarch64.rpm
pgrouting_153.7.0el9.aarch64pgdg701.7 KiBpgrouting_15-3.7.0-1PGDG.rhel9.aarch64.rpm
pgrouting_153.6.3el9.aarch64pgdg688.9 KiBpgrouting_15-3.6.3-1PGDG.rhel9.aarch64.rpm
pgrouting_153.6.0el9.aarch64pgdg689.2 KiBpgrouting_15-3.6.0-1PGDG.rhel9.aarch64.rpm
pgrouting_153.5.0el9.aarch64pgdg688.4 KiBpgrouting_15-3.5.0-1.rhel9.aarch64.rpm
pgrouting_153.4.2el9.aarch64pgdg686.7 KiBpgrouting_15-3.4.2-2.rhel9.aarch64.rpm
pgrouting_153.4.1el9.aarch64pgdg688.0 KiBpgrouting_15-3.4.1-1.rhel9.aarch64.rpm
pgrouting_153.4.0el9.aarch64pgdg683.6 KiBpgrouting_15-3.4.0-1.rhel9.aarch64.rpm
pgrouting_153.3.4el9.aarch64pgdg654.4 KiBpgrouting_15-3.3.4-1.rhel9.aarch64.rpm
pgrouting_153.1.4el9.aarch64pgdg613.8 KiBpgrouting_15-3.1.4-1.rhel9.aarch64.rpm
pgrouting_154.0.1el10.x86_64pgdg726.9 KiBpgrouting_15-4.0.1-1PGDG.rhel10.1.x86_64.rpm
pgrouting_153.8.0el10.x86_64pgdg772.3 KiBpgrouting_15-3.8.0-1PGDG.rhel10.x86_64.rpm
pgrouting_154.0.1el10.aarch64pgdg670.8 KiBpgrouting_15-4.0.1-1PGDG.rhel10.1.aarch64.rpm
pgrouting_153.8.0el10.aarch64pgdg718.8 KiBpgrouting_15-3.8.0-1PGDG.rhel10.aarch64.rpm
postgresql-15-pgrouting4.0.1d12.x86_64pgdg813.8 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg12+1_amd64.deb
postgresql-15-pgrouting4.0.1d12.aarch64pgdg695.3 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg12+1_arm64.deb
postgresql-15-pgrouting4.0.1d13.x86_64pgdg902.3 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg13+1_amd64.deb
postgresql-15-pgrouting4.0.1d13.aarch64pgdg772.7 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg13+1_arm64.deb
postgresql-15-pgrouting4.0.1u22.x86_64pgdg614.6 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg22.04+1_amd64.deb
postgresql-15-pgrouting4.0.1u22.aarch64pgdg522.0 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg22.04+1_arm64.deb
postgresql-15-pgrouting4.0.1u24.x86_64pgdg596.6 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg24.04+1_amd64.deb
postgresql-15-pgrouting4.0.1u24.aarch64pgdg518.5 KiBpostgresql-15-pgrouting_4.0.1-1.pgdg24.04+1_arm64.deb
PackageVersionOSORGSIZEFile URL
pgrouting_144.0.1el8.x86_64pgdg904.6 KiBpgrouting_14-4.0.1-1PGDG.rhel8.10.x86_64.rpm
pgrouting_143.8.0el8.x86_64pgdg943.4 KiBpgrouting_14-3.8.0-1PGDG.rhel8.x86_64.rpm
pgrouting_143.7.3el8.x86_64pgdg921.1 KiBpgrouting_14-3.7.3-1PGDG.rhel8.x86_64.rpm
pgrouting_143.7.1el8.x86_64pgdg965.4 KiBpgrouting_14-3.7.1-1PGDG.rhel8.x86_64.rpm
pgrouting_143.7.0el8.x86_64pgdg968.8 KiBpgrouting_14-3.7.0-1PGDG.rhel8.x86_64.rpm
pgrouting_143.6.3el8.x86_64pgdg958.7 KiBpgrouting_14-3.6.3-1PGDG.rhel8.x86_64.rpm
pgrouting_143.6.0el8.x86_64pgdg956.7 KiBpgrouting_14-3.6.0-1PGDG.rhel8.x86_64.rpm
pgrouting_143.5.0el8.x86_64pgdg938.4 KiBpgrouting_14-3.5.0-1.rhel8.x86_64.rpm
pgrouting_143.4.2el8.x86_64pgdg918.2 KiBpgrouting_14-3.4.2-2.rhel8.x86_64.rpm
pgrouting_143.4.1el8.x86_64pgdg917.5 KiBpgrouting_14-3.4.1-1.rhel8.x86_64.rpm
pgrouting_143.4.0el8.x86_64pgdg915.9 KiBpgrouting_14-3.4.0-1.rhel8.x86_64.rpm
pgrouting_143.3.4el8.x86_64pgdg868.8 KiBpgrouting_14-3.3.4-1.rhel8.x86_64.rpm
pgrouting_143.3.3el8.x86_64pgdg868.5 KiBpgrouting_14-3.3.3-1.rhel8.x86_64.rpm
pgrouting_143.3.2el8.x86_64pgdg868.2 KiBpgrouting_14-3.3.2-1.rhel8.x86_64.rpm
pgrouting_143.3.1el8.x86_64pgdg870.8 KiBpgrouting_14-3.3.1-1.rhel8.x86_64.rpm
pgrouting_143.3.0el8.x86_64pgdg861.0 KiBpgrouting_14-3.3.0-1.rhel8.x86_64.rpm
pgrouting_143.2.1el8.x86_64pgdg846.9 KiBpgrouting_14-3.2.1-1.rhel8.x86_64.rpm
pgrouting_143.1.3el8.x86_64pgdg788.8 KiBpgrouting_14-3.1.3-1.rhel8.x86_64.rpm
pgrouting_143.0.5el8.x86_64pgdg780.7 KiBpgrouting_14-3.0.5-1.rhel8.x86_64.rpm
pgrouting_144.0.1el8.aarch64pgdg797.6 KiBpgrouting_14-4.0.1-1PGDG.rhel8.10.aarch64.rpm
pgrouting_143.8.0el8.aarch64pgdg830.5 KiBpgrouting_14-3.8.0-1PGDG.rhel8.aarch64.rpm
pgrouting_143.7.3el8.aarch64pgdg810.1 KiBpgrouting_14-3.7.3-1PGDG.rhel8.aarch64.rpm
pgrouting_143.7.1el8.aarch64pgdg849.0 KiBpgrouting_14-3.7.1-1PGDG.rhel8.aarch64.rpm
pgrouting_143.7.0el8.aarch64pgdg852.3 KiBpgrouting_14-3.7.0-1PGDG.rhel8.aarch64.rpm
pgrouting_143.6.3el8.aarch64pgdg839.9 KiBpgrouting_14-3.6.3-1PGDG.rhel8.aarch64.rpm
pgrouting_143.6.0el8.aarch64pgdg837.9 KiBpgrouting_14-3.6.0-1PGDG.rhel8.aarch64.rpm
pgrouting_143.5.0el8.aarch64pgdg818.4 KiBpgrouting_14-3.5.0-1.rhel8.aarch64.rpm
pgrouting_143.4.2el8.aarch64pgdg821.8 KiBpgrouting_14-3.4.2-2.rhel8.aarch64.rpm
pgrouting_143.4.1el8.aarch64pgdg821.2 KiBpgrouting_14-3.4.1-1.rhel8.aarch64.rpm
pgrouting_143.4.0el8.aarch64pgdg819.6 KiBpgrouting_14-3.4.0-1.rhel8.aarch64.rpm
pgrouting_143.3.4el8.aarch64pgdg775.5 KiBpgrouting_14-3.3.4-1.rhel8.aarch64.rpm
pgrouting_143.2.2el8.aarch64pgdg758.3 KiBpgrouting_14-3.2.2-1.rhel8.aarch64.rpm
pgrouting_143.1.4el8.aarch64pgdg710.5 KiBpgrouting_14-3.1.4-1.rhel8.aarch64.rpm
pgrouting_143.0.6el8.aarch64pgdg702.6 KiBpgrouting_14-3.0.6-1.rhel8.aarch64.rpm
pgrouting_144.0.1el9.x86_64pgdg696.2 KiBpgrouting_14-4.0.1-1PGDG.rhel9.7.x86_64.rpm
pgrouting_143.8.0el9.x86_64pgdg741.5 KiBpgrouting_14-3.8.0-1PGDG.rhel9.x86_64.rpm
pgrouting_143.7.3el9.x86_64pgdg719.2 KiBpgrouting_14-3.7.3-1PGDG.rhel9.x86_64.rpm
pgrouting_143.7.1el9.x86_64pgdg748.6 KiBpgrouting_14-3.7.1-1PGDG.rhel9.x86_64.rpm
pgrouting_143.7.0el9.x86_64pgdg752.6 KiBpgrouting_14-3.7.0-1PGDG.rhel9.x86_64.rpm
pgrouting_143.6.3el9.x86_64pgdg738.3 KiBpgrouting_14-3.6.3-1PGDG.rhel9.x86_64.rpm
pgrouting_143.6.0el9.x86_64pgdg736.6 KiBpgrouting_14-3.6.0-1PGDG.rhel9.x86_64.rpm
pgrouting_143.5.0el9.x86_64pgdg732.7 KiBpgrouting_14-3.5.0-1.rhel9.x86_64.rpm
pgrouting_143.4.2el9.x86_64pgdg733.4 KiBpgrouting_14-3.4.2-2.rhel9.x86_64.rpm
pgrouting_143.4.1el9.x86_64pgdg732.6 KiBpgrouting_14-3.4.1-1.rhel9.x86_64.rpm
pgrouting_143.4.0el9.x86_64pgdg729.1 KiBpgrouting_14-3.4.0-1.rhel9.x86_64.rpm
pgrouting_143.3.4el9.x86_64pgdg697.9 KiBpgrouting_14-3.3.4-1.rhel9.x86_64.rpm
pgrouting_143.3.3el9.x86_64pgdg697.6 KiBpgrouting_14-3.3.3-1.rhel9.x86_64.rpm
pgrouting_143.3.2el9.x86_64pgdg697.2 KiBpgrouting_14-3.3.2-1.rhel9.x86_64.rpm
pgrouting_143.3.1el9.x86_64pgdg699.2 KiBpgrouting_14-3.3.1-1.rhel9.x86_64.rpm
pgrouting_144.0.1el9.aarch64pgdg648.5 KiBpgrouting_14-4.0.1-1PGDG.rhel9.7.aarch64.rpm
pgrouting_143.8.0el9.aarch64pgdg693.7 KiBpgrouting_14-3.8.0-1PGDG.rhel9.aarch64.rpm
pgrouting_143.7.3el9.aarch64pgdg671.7 KiBpgrouting_14-3.7.3-1PGDG.rhel9.aarch64.rpm
pgrouting_143.7.1el9.aarch64pgdg699.1 KiBpgrouting_14-3.7.1-1PGDG.rhel9.aarch64.rpm
pgrouting_143.7.0el9.aarch64pgdg701.7 KiBpgrouting_14-3.7.0-1PGDG.rhel9.aarch64.rpm
pgrouting_143.6.3el9.aarch64pgdg688.7 KiBpgrouting_14-3.6.3-1PGDG.rhel9.aarch64.rpm
pgrouting_143.6.0el9.aarch64pgdg689.0 KiBpgrouting_14-3.6.0-1PGDG.rhel9.aarch64.rpm
pgrouting_143.5.0el9.aarch64pgdg688.2 KiBpgrouting_14-3.5.0-1.rhel9.aarch64.rpm
pgrouting_143.4.2el9.aarch64pgdg687.4 KiBpgrouting_14-3.4.2-2.rhel9.aarch64.rpm
pgrouting_143.4.1el9.aarch64pgdg688.0 KiBpgrouting_14-3.4.1-1.rhel9.aarch64.rpm
pgrouting_143.4.0el9.aarch64pgdg684.3 KiBpgrouting_14-3.4.0-1.rhel9.aarch64.rpm
pgrouting_143.3.4el9.aarch64pgdg654.5 KiBpgrouting_14-3.3.4-1.rhel9.aarch64.rpm
pgrouting_143.2.2el9.aarch64pgdg642.3 KiBpgrouting_14-3.2.2-1.rhel9.aarch64.rpm
pgrouting_143.1.4el9.aarch64pgdg613.4 KiBpgrouting_14-3.1.4-1.rhel9.aarch64.rpm
pgrouting_143.0.6el9.aarch64pgdg607.8 KiBpgrouting_14-3.0.6-1.rhel9.aarch64.rpm
pgrouting_144.0.1el10.x86_64pgdg726.8 KiBpgrouting_14-4.0.1-1PGDG.rhel10.1.x86_64.rpm
pgrouting_143.8.0el10.x86_64pgdg773.0 KiBpgrouting_14-3.8.0-1PGDG.rhel10.x86_64.rpm
pgrouting_144.0.1el10.aarch64pgdg670.6 KiBpgrouting_14-4.0.1-1PGDG.rhel10.1.aarch64.rpm
pgrouting_143.8.0el10.aarch64pgdg718.8 KiBpgrouting_14-3.8.0-1PGDG.rhel10.aarch64.rpm
postgresql-14-pgrouting4.0.1d12.x86_64pgdg813.8 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg12+1_amd64.deb
postgresql-14-pgrouting4.0.1d12.aarch64pgdg695.6 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg12+1_arm64.deb
postgresql-14-pgrouting4.0.1d13.x86_64pgdg902.8 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg13+1_amd64.deb
postgresql-14-pgrouting4.0.1d13.aarch64pgdg773.0 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg13+1_arm64.deb
postgresql-14-pgrouting4.0.1u22.x86_64pgdg614.5 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg22.04+1_amd64.deb
postgresql-14-pgrouting4.0.1u22.aarch64pgdg521.9 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg22.04+1_arm64.deb
postgresql-14-pgrouting4.0.1u24.x86_64pgdg596.6 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg24.04+1_amd64.deb
postgresql-14-pgrouting4.0.1u24.aarch64pgdg518.5 KiBpostgresql-14-pgrouting_4.0.1-1.pgdg24.04+1_arm64.deb

Source

Install

Make sure PGDG repo available:

pig repo add pgdg -u    # add pgdg repo and update cache

Install this extension with pig:

pig install pgrouting;		# install via package name, for the active PG version

pig install pgrouting -v 18;   # install for PG 18
pig install pgrouting -v 17;   # install for PG 17
pig install pgrouting -v 16;   # install for PG 16
pig install pgrouting -v 15;   # install for PG 15
pig install pgrouting -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION pgrouting CASCADE; -- requires plpgsql, postgis

Usage

pgRouting - Routing on PostgreSQL

pgRouting extends the PostGIS/PostgreSQL geospatial database to provide geospatial routing and other network analysis functionality.

This library contains the following features:

  • All Pairs Shortest Path (Floyd-Warshall, Johnson)
  • A* algorithm (with bidirectional variant)
  • Dijkstra algorithms (cost, cost matrix, driving distance, K shortest paths, via routing, nearest)
  • Bidirectional Dijkstra
  • Traveling Salesman Problem (TSP)
  • Network flow (max flow, Boykov-Kolmogorov, Edmonds-Karp, push-relabel)
  • Spanning trees (Kruskal, Prim with BFS/DFS/driving distance variants)
  • Graph components (connected, strong, biconnected, articulation points, bridges)
  • Turn Restriction Shortest Path (TRSP)
  • WithPoints routing (arbitrary locations on edges)
  • Graph contraction and utility functions

Getting Started

Enable the extension (requires PostGIS):

CREATE EXTENSION pgrouting CASCADE;

Graph Representation

pgRouting represents graphs using SQL queries that return edge data. The standard edge query format:

SELECT id, source, target, cost, reverse_cost FROM edges;
ColumnTypeDescription
idANY-INTEGEREdge identifier
sourceANY-INTEGERStarting vertex identifier
targetANY-INTEGEREnding vertex identifier
costANY-NUMERICALWeight (source to target); negative values exclude the edge
reverse_costANY-NUMERICALWeight (target to source); default -1 (non-existent)

Simple Example Without Geometry

Create a graph and find the shortest path:

CREATE TABLE wiki (
  id SERIAL,
  source INTEGER,
  target INTEGER,
  cost INTEGER
);

INSERT INTO wiki (source, target, cost) VALUES
  (1, 2, 7),  (1, 3, 9), (1, 6, 14),
  (2, 3, 10), (2, 4, 15),
  (3, 6, 2),  (3, 4, 11),
  (4, 5, 6),
  (5, 6, 9);

SELECT * FROM pgr_dijkstra(
  'SELECT id, source, target, cost FROM wiki',
  1, 5, false);

Function Families

Dijkstra - Shortest Path

The core routing function. Supports one-to-one, one-to-many, many-to-one, many-to-many, and combinations signatures.

pgr_dijkstra(Edges SQL, start_vid,  end_vid,  [directed])
pgr_dijkstra(Edges SQL, start_vid,  end_vids, [directed])
pgr_dijkstra(Edges SQL, start_vids, end_vid,  [directed])
pgr_dijkstra(Edges SQL, start_vids, end_vids, [directed])
pgr_dijkstra(Edges SQL, Combinations SQL,     [directed])

Returns: (seq, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)

One to One:

SELECT * FROM pgr_dijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  6, 10, true);

One to Many:

SELECT * FROM pgr_dijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  6, ARRAY[10, 17]);

Many to Many (undirected):

SELECT * FROM pgr_dijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  ARRAY[6, 1], ARRAY[10, 17],
  directed => false);

Combinations:

SELECT * FROM pgr_dijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  'SELECT source, target FROM combinations',
  false);

Dijkstra Cost

Returns only aggregate cost without path details:

pgr_dijkstraCost(Edges SQL, start_vid, end_vid, [directed])

Returns: (start_vid, end_vid, agg_cost)

Dijkstra Cost Matrix

Generate a cost matrix for a set of vertices:

pgr_dijkstraCostMatrix(Edges SQL, vids, [directed])

Dijkstra Via

Route through an ordered sequence of vertices:

pgr_dijkstraVia(Edges SQL, via_vertices, [directed, strict, U_turn_on_edge])

Dijkstra Near

Find the nearest vertex to a set of targets:

pgr_dijkstraNear(Edges SQL, start_vid, end_vids, [directed])

A* - Shortest Path

Uses the A* heuristic algorithm. Requires additional coordinate columns (x1, y1, x2, y2) in the edges query.

pgr_aStar(Edges SQL, start_vid, end_vid, [directed, heuristic, factor, epsilon])
OptionTypeDefaultDescription
directedBOOLEANtrueGraph direction
heuristicINTEGER5Distance heuristic (0-5)
factorFLOAT1Units manipulation
epsilonFLOAT1Approximation factor
SELECT * FROM pgr_aStar(
  'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edges',
  6, 12,
  directed => true, heuristic => 2);

Also available: pgr_aStarCost, pgr_aStarCostMatrix

Bidirectional Algorithms

Bidirectional variants search from both ends simultaneously:

  • pgr_bdDijkstra, pgr_bdDijkstraCost, pgr_bdDijkstraCostMatrix
  • pgr_bdAstar, pgr_bdAstarCost, pgr_bdAstarCostMatrix
SELECT * FROM pgr_bdDijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  6, 10);

K Shortest Paths (Yen’s Algorithm)

Find the K shortest paths between two vertices:

pgr_KSP(Edges SQL, start_vid, end_vid, K, [directed, heap_paths])

Returns: (seq, path_id, path_seq, start_vid, end_vid, node, edge, cost, agg_cost)

SELECT * FROM pgr_KSP(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  6, 17, 2);

Driving Distance

Find all vertices reachable within a given distance:

pgr_drivingDistance(Edges SQL, start_vid, distance, [directed])
pgr_drivingDistance(Edges SQL, start_vids, distance, [directed, equicost])

Returns: (seq, depth, start_vid, pred, node, edge, cost, agg_cost)

SELECT * FROM pgr_drivingDistance(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  11, 3.0);

Traveling Salesman Problem

Matrix-based TSP:

pgr_TSP(Matrix SQL, [start_id, end_id])

Returns: (seq, node, cost, agg_cost)

SELECT * FROM pgr_TSP(
  $$SELECT * FROM pgr_dijkstraCostMatrix(
    'SELECT id, source, target, cost, reverse_cost FROM edges',
    ARRAY[1, 3, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17],
    directed => false)$$,
  start_id => 1);

Euclidean TSP (uses coordinates directly):

pgr_TSPeuclidean(Coordinates SQL, [start_id, end_id])

Network Flow

Compute maximum flow and related properties:

-- Maximum flow
pgr_maxFlow(Edges SQL, source, sink)

-- Specific algorithms
pgr_boykovKolmogorov(Edges SQL, source, sink)
pgr_edmondsKarp(Edges SQL, source, sink)
pgr_pushRelabel(Edges SQL, source, sink)

-- Edge-disjoint paths
pgr_edgeDisjointPaths(Edges SQL, source, sink)

-- Maximum cardinality matching
pgr_maxCardinalityMatch(Edges SQL, [directed])

Flow edges SQL uses capacity and reverse_capacity instead of cost/reverse_cost.

Spanning Trees

Kruskal’s algorithm:

pgr_kruskal(Edges SQL)         -- minimum spanning tree
pgr_kruskalBFS(Edges SQL, root_vid, [max_depth])
pgr_kruskalDFS(Edges SQL, root_vid, [max_depth])
pgr_kruskalDD(Edges SQL, root_vid, distance)

Prim’s algorithm:

pgr_prim(Edges SQL)            -- minimum spanning tree
pgr_primBFS(Edges SQL, root_vid, [max_depth])
pgr_primDFS(Edges SQL, root_vid, [max_depth])
pgr_primDD(Edges SQL, root_vid, distance)

Graph Components

-- Connected components (undirected)
pgr_connectedComponents(Edges SQL)

-- Strongly connected components (directed)
pgr_strongComponents(Edges SQL)

-- Biconnected components
pgr_biconnectedComponents(Edges SQL)

-- Articulation points (cut vertices)
pgr_articulationPoints(Edges SQL)

-- Bridges (cut edges)
pgr_bridges(Edges SQL)

Turn Restriction Shortest Path (TRSP)

Route with forbidden path restrictions:

pgr_trsp(Edges SQL, Restrictions SQL, start_vid, end_vid, [directed])
pgr_trspVia(Edges SQL, Restrictions SQL, via_vertices, [directed, strict, U_turn_on_edge])
pgr_trsp_withPoints(Edges SQL, Restrictions SQL, Points SQL, start_pid, end_pid, [options])

Restrictions SQL format:

ColumnTypeDescription
pathARRAY[ANY-INTEGER]Sequence of forbidden edge IDs
costANY-NUMERICALCost of the forbidden path

WithPoints - Routing from Arbitrary Locations

Route between points located on edges (not just vertices):

pgr_withPoints(Edges SQL, Points SQL, start_pid, end_pid, [options])
pgr_withPointsCost(Edges SQL, Points SQL, start_pid, end_pid, [options])
pgr_withPointsCostMatrix(Edges SQL, Points SQL, pids, [options])
pgr_withPointsKSP(Edges SQL, Points SQL, start_pid, end_pid, K, [options])
pgr_withPointsDD(Edges SQL, Points SQL, start_pid, distance, [options])

Points SQL format:

ColumnTypeDefaultDescription
pidANY-INTEGERPoint identifier
edge_idANY-INTEGERClosest edge
fractionANY-NUMERICALPosition on edge (0-1)
sideCHARbr(right), l(left), b(both)

Graph Contraction

Simplify graphs by contracting vertices:

pgr_contraction(Edges SQL, contraction_order, [options])

Utility Functions

-- Extract vertices from edge data
pgr_extractVertices(Edges SQL)

-- Find edges near a point
pgr_findCloseEdges(Edges SQL, point, tolerance, [options])

-- Separate crossing geometries
pgr_separateCrossing(Edges SQL)

-- Separate touching geometries
pgr_separateTouching(Edges SQL)

-- Version info
pgr_version()
pgr_full_version()

Working with Geometries

Building a Routing Topology

Extract vertices from spatial edges and build topology:

-- Extract vertices from edge geometries
SELECT * INTO vertices
FROM pgr_extractVertices('SELECT id, geom FROM edges ORDER BY id');

-- Set source vertex
UPDATE edges AS e
SET source = v.id, x1 = x, y1 = y
FROM vertices AS v
WHERE ST_StartPoint(e.geom) = v.geom;

-- Set target vertex
UPDATE edges AS e
SET target = v.id, x2 = x, y2 = y
FROM vertices AS v
WHERE ST_EndPoint(e.geom) = v.geom;

Setting Costs from Geometry Length

UPDATE edges SET
  cost = sign(cost) * ST_Length(geom),
  reverse_cost = sign(reverse_cost) * ST_Length(geom);

Getting Route Geometry

Combine routing results with edge geometries:

SELECT seq, node, edge, cost, agg_cost, geom
FROM pgr_dijkstra(
  'SELECT id, source, target, cost, reverse_cost FROM edges',
  6, 10
) AS r
LEFT JOIN edges AS e ON r.edge = e.id;

Performance Tips

Bound queries to the area of interest to reduce processed edges:

SELECT * FROM pgr_dijkstra($$
  SELECT id, source, target, cost, reverse_cost
  FROM edges
  WHERE geom && (
    SELECT ST_Buffer(ST_Union(geom), 1)
    FROM edges WHERE source IN (7) OR target IN (8))$$,
  7, 8);

All Pairs Shortest Path

For computing distances between all pairs of vertices:

-- Floyd-Warshall (no edge id required)
pgr_floydWarshall(Edges SQL, [directed])

-- Johnson (no edge id required)
pgr_johnson(Edges SQL, [directed])

Returns: (start_vid, end_vid, agg_cost)

SELECT * FROM pgr_floydWarshall(
  'SELECT id, source, target, cost, reverse_cost FROM edges');
Last updated on