PostGIS

active

by PostGIS Project Steering Committee (OSGeo) · since 2001 · also known as PostGIS extension

The standard spatial extension for PostgreSQL: geometry, geography, rasters and topology in SQL.

spatialrelationalextensionopen source (copyleft)mature

Overview

PostGIS turns PostgreSQL into a full spatial database. It adds geometry and geography types, hundreds of OGC/ISO SQL/MM functions (ST_Intersects, ST_Buffer, ST_DWithin and so on), GiST and SP-GiST spatial indexing, raster support, topology, 3D and routing via pgRouting, all usable alongside ordinary relational data and transactions. Built on GEOS, PROJ and GDAL, it is the reference open-source GIS backend and is available on nearly every managed Postgres service. The 3.7 release was in release-candidate stage in October 2026, with 3.6.x the current stable line.

Strengths & trade-offs

Strengths

  • +Richest open-source spatial SQL function library
  • +Spatial and relational data join in one transactional database
  • +GiST/SP-GiST/BRIN spatial indexing for fast proximity queries
  • +Universal support across managed Postgres providers and GIS tools (QGIS, GeoServer)

Trade-offs

  • −GPL licence (extension only; does not affect your app's SQL)
  • −Heavy spatial joins can be CPU-bound on a single node
  • −Upgrading PostGIS alongside major Postgres versions needs care

Great for

  • +Store locators and proximity search
  • +Fleet tracking and logistics routing
  • +Land, utility and municipal GIS
  • +Vector tile generation for web maps

Think twice for

  • −Planet-scale raster analytics (use array or lakehouse engines)
  • −Non-Postgres stacks

Capabilities

Native or official first-party support · 9 of 25 tracked

✓Transactions
✓Joins
✓Secondary indexes
✓Geospatial
✓JSON
✓Triggers
✓Stored procedures
✓Materialized views
✓Durable persistence
–Full-text search
–Vector search
–Change data capture
–TTL / expiry
–Pub/Sub
–Columnar storage
–In-memory
–Compression
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync
–Runs in WebAssembly

Scale & consistency

Comfortable data size
Medium · ≤ 10 TB
Horizontal scaling
Addon
Multi-region
Read replicas
Transactions
Full ACID
Consistency
Strong
Schema
Strict
Architecture
Single node, Primary replica, Client server
Query languages
SQL

Scales like the host PostgreSQL; Citus can distribute spatial tables.

Deployment

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

available on · AWS · Google Cloud · Azure · DigitalOcean · Aiven · Heroku · Render · Railway

Ecosystem

compatible withPostgreSQL
apis & protocolsPostgreSQL wire protocol
client languagesC, Java, Python, JavaScript, Go, Rust, C#, Ruby, PHP

Alternatives to PostGIS

Compare all→
PostgreSQLRelational93.2

The extensible, standards-first open-source relational database.

postgis vs postgresql →
rasdamanArray / Scientific3.9

Array database for massive multidimensional rasters, with SQL-style queries and OGC WCPS services.

postgis vs rasdaman →
TileDBArray / Scientific10.5

Embeddable multidimensional array storage engine for dense and sparse data on object storage.

postgis vs tiledb →
KineticaColumnar / OLAP6.4

GPU- and vector-accelerated database for real-time spatial, time-series and vector analytics.

postgis vs kinetica →
DuckDBColumnar / OLAP63.7

In-process columnar SQL database: the SQLite of analytics, running inside your app or notebook.

postgis vs duckdb →
Microsoft SQL ServerRelational71.0

Microsoft's flagship RDBMS: T-SQL, columnstore, Always On, and now native vectors and JSON.

postgis vs sql-server →

PostGIS FAQ

What is PostGIS?

PostGIS is a spatial database by PostGIS Project Steering Committee (OSGeo), first released in 2001. PostGIS turns PostgreSQL into a full spatial database. It adds geometry and geography types, hundreds of OGC/ISO SQL/MM functions (ST_Intersects, ST_Buffer, ST_DWithin and so on), GiST and SP-GiST spatial indexing, raster support, topology, 3D and routing via pgRouting, all usable alongside ordinary relational data and transactions. Built on GEOS, PROJ and GDAL, it is the reference open-source GIS backend and is available on nearly every managed Postgres service. The 3.7 release was in release-candidate stage in October 2026, with 3.6.x the current stable line.

Is PostGIS open source?

Yes. PostGIS is open source. License: GNU GPL v2.0.

Does PostGIS support ACID transactions?

Yes. PostGIS supports full ACID transactions, with strong consistency.

Does PostGIS scale horizontally?

PostGIS scales horizontally through an official extension, proxy or edition rather than in the core engine. It is comfortable at medium scale (≤ 10 TB). It supports cross-region read replicas.

How can I run PostGIS?

You can self-host it. Managed offerings include Amazon RDS for PostgreSQL (PostGIS), Cloud SQL for PostgreSQL (PostGIS) and Supabase. It is available on AWS, Google Cloud, Azure, DigitalOcean and Aiven.

What is PostGIS best for?

PostGIS is a strong fit for store locators and proximity search; fleet tracking and logistics routing; and land, utility and municipal GIS. Think twice for planet-scale raster analytics (use array or lakehouse engines).

What are the best alternatives to PostGIS?

Common alternatives to PostGIS include PostgreSQL, rasdaman, TileDB, Kinetica and DuckDB. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.

How popular is PostGIS?

PostGIS ranks #32 of 844 databases on the WhichDB Score (47.5/100), and #1 among spatial databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.