PostGIS
In-depth entryby PostGIS Project Steering Committee (OSGeo) · Extension
Spatial extension for PostgreSQL adding geometry, geography and raster types with indexing and hundreds of SQL functions
Overview
PostGIS is the open-source spatial extension for PostgreSQL, developed under the OSGeo umbrella by a project steering committee, and sits in the GIS and mapping category. Installing it adds geometry and geography column types, spatial indexes (GiST and SP-GiST), and several hundred SQL functions for predicates (intersects, contains, within distance), measurements, overlays, buffering, reprojection, clustering and topology, with optional raster and 3D support. Because it lives inside PostgreSQL, spatial data gets transactions, roles, replication and joins with ordinary tables for free.
It is the usual backend for QGIS projects and web-map servers, the storage layer for OpenStreetMap imports via osm2pgsql, and the engine behind many geocoding, routing (with pgRouting) and address-matching pipelines. In real estate and urban analysis a PostGIS database typically holds parcels, assessment rolls, listings and census geographies so that nearest-comparable queries, catchment areas and spatial joins can be written in SQL and consumed from Python or R.
It is available on every major PostgreSQL distribution and most managed cloud databases, and it is licensed GPL-2.0-or-later, which does not constrain data or applications that merely connect to it.
Limits: performance depends on correct indexing and SRID discipline; raster and topology features are less commonly used and documented than vector functions; very large OSM or lidar datasets demand tuning and disk; and version upgrades of PostGIS and PostgreSQL must be coordinated.
Capabilities
- Geometry and geography types with GiST/SP-GiST indexing
- Spatial predicates, measurements, overlays and buffers in SQL
- Coordinate reprojection and geodetic calculations
- Raster storage and analysis
- Topology and 3D geometry support
- Import/export tools such as shp2pgsql and raster2pgsql
- Works with pgRouting, osm2pgsql and ogr2ogr
Typical workflows
- Load parcels and assessment rolls, then find nearest comparables with a KNN query
- Serve PostGIS tables to QGIS or a vector-tile server
- Import an OpenStreetMap extract and compute distances to amenities
Strengths
- Full relational database features alongside spatial types
- Broad ecosystem support (QGIS, GDAL, GeoPandas, GeoServer)
- Available on managed PostgreSQL services
Limitations
- Requires PostgreSQL administration and indexing discipline
- Raster and topology modules are less mature than vector
- Large datasets need tuning and storage planning
Prerequisites
- PostgreSQL server with the extension installed
- SQL knowledge
Who it is for
- GIS developers and data engineers
- Researchers building spatial databases
- Web-mapping backend teams
Alternatives & comparison
PostgreSQL without PostGIS has only basic geometric types; PostGIS adds standards-compliant spatial SQL. GeoPandas performs similar operations in memory for single-user analysis, while DuckDB's spatial extension offers in-process spatial SQL on files without a server. QGIS is a desktop client that commonly connects to PostGIS.
- DuckDB
In-process analytical SQL database that queries Parquet, CSV and Arrow data directly from Python, R, Node or the CLI
Open sourceOpen source - GeoPandas
Python library extending pandas with geometry columns, spatial operations, reprojection, spatial joins and file I/O for vector geodata
Open sourceOpen source - H3
Hexagonal hierarchical geospatial indexing system from Uber with a C core and bindings for Python, JavaScript, Java and SQL engines
Open sourceOpen source - Overpass API
Read-only query service for OpenStreetMap data using the Overpass QL language, available on public instances or self-hosted
Open sourceFree - PostgreSQL
Open-source object-relational database server with a large extension ecosystem (PostGIS, pgvector, TimescaleDB) and broad SQL coverage
Open sourceOpen source - QGIS
Open-source desktop GIS for viewing, editing, analysing and publishing vector and raster geodata, extensible with Python plugins
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- LicensePostGIS COPYING (GPL v2)checked Nov 1, 2026
https://github.com/postgis/postgis/blob/master/COPYING
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Repositorychecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in GIS & mapping
OpenStreetMap
OpenStreetMap Foundation · GIS & mapping
Collaboratively edited world map database released under the ODbL, with planet files, an editing API and derived tiles and extracts
H3
Uber Technologies (open-source project) · GIS & mapping
Hexagonal hierarchical geospatial indexing system from Uber with a C core and bindings for Python, JavaScript, Java and SQL engines
Geocodio
Dotsquare LLC (Geocodio) · GIS & mapping
Geocoding API and spreadsheet service for the US and Canada with batch processing and data appends such as census, districts and time zones
MapLibre
MapLibre Organization · GIS & mapping
Open-source vector-tile map renderers for web (GL JS) and native platforms, forked from Mapbox GL and governed by a community organisation
Leaflet
Volodymyr Agafonkin and contributors · GIS & mapping
Lightweight open-source JavaScript library for interactive tile-based web maps with markers, vector layers and a large plugin ecosystem
Overpass API
Roland Olbricht and the OpenStreetMap community · GIS & mapping
Read-only query service for OpenStreetMap data using the Overpass QL language, available on public instances or self-hosted