Connect to Any Data Source

GeoServer supports a comprehensive ecosystem of geospatial databases, file formats, and cloud storage backends. Configure, scale, and serve your spatial data with enterprise-grade reliability.

Supported Data Stores

Native integrations, optimized connectors, and format converters.

🐘
Read/Write Native

PostgreSQL / PostGIS

The gold standard for spatial databases. Full ACID compliance, advanced indexing, and native geometry/geometry operations.

v3.0+ Recommended Configure →
📦
Read/Write Native

GeoPackage

Open, standards-based, file format for vector, raster, and attribute data. Ideal for mobile sync and offline workflows.

OGC Standard Configure →
📐
Read-Only

ESRI Shapefile

Legacy but ubiquitous. Supported for ingestion and WMS/WFS publishing. Note: limited to ~2GB and no spatial indexing.

Legacy Support Configure →
🛰️
Read-Only Native

GeoTIFF / COG

Cloud-optimized georeferenced imagery. Supports overviews, internal pyramids, and efficient partial tile reads.

Raster Optimized Configure →
🍃
Read/Write

MongoDB / GeoJSON

NoSQL geospatial queries with 2dsphere indexes. Excellent for high-velocity telemetry and location history data.

Plugin Required Configure →
🔍
Read-Only

Elasticsearch / OpenSearch

Full-text spatial search and log analytics. Supports geo_point, geo_shape, and geohash aggregation workflows.

v7.x+ Compatible Configure →

Quick Configuration

Connect a new data store via the Admin Dashboard or declarative YAML. All connections are encrypted by default and support connection pooling.

  1. Navigate to Stores → Click Add New Store
  2. Select Provider → Choose from the supported integrations list
  3. Enter Credentials → Host, port, database, and auth details
  4. Test & Publish → Validate connection and auto-discover layers
# geoserver-stores.yaml stores: - name: production_postgis type: postgresql connection: host: db.geo.internal port: 5432 database: spatial_core pool: min: 2 max: 20 timeout: 30s publish: true cache: redis://tile-cache:6379

Performance & Compatibility Matrix

Benchmarks based on 10M feature datasets and 4k tile requests/sec.

Store Type Vector Support Raster Support Transactionality Performance Tier
PostgreSQL / PostGIS Full (GEOS/JTS) RASTER extension ACID (WFS-T) Tier 1 (Optimized)
GeoPackage Full Internal Raster SQLite (Limited) Tier 1
Shapefile Basic (SHP/DBF) None None (Read-Only) Tier 2
Cloud-Optimized GeoTIFF None Full (TIFF/COG) None Tier 1
MongoDB GeoJSON None Native Tier 2
Elasticsearch GeoPoint/GeoShape None Near-Realtime Tier 2

Frequently Asked Questions

Common questions about data store configuration and limits.

Can I connect to multiple databases in one workspace?

Yes. GeoServer supports workspaces containing multiple stores. Each store can have its own credentials, schema, and publishing rules.

What's the difference between Tier 1 and Tier 2 stores?

Tier 1 stores have native spatial indexing, connection pooling, and optimized tile caching. Tier 2 stores rely on external indexing or plugin-level emulation.

Do I need separate licenses for database connectors?

No. All core connectors (PostGIS, GeoPackage, Shapefile, GeoTIFF) are included. Enterprise plugins (MongoDB, Elasticsearch, S3) require a Professional or Enterprise plan.

How are large raster datasets handled?

GeoServer automatically generates overviews, uses tile caches (GeoWebCache), and supports partial reads for COG formats to minimize memory usage.