PostGIS Developer Documentation
This directory is the repository home for PostGIS developer documentation. Trac remains the project issue tracker, but development workflow notes should live here so they are reviewed with code and branch changes.
This subtree is organized for the developer and maintainer role. User-facing documentation remains in the DocBook manual and on the public website; pages such as Manual documentation workflow describe how contributors maintain those user docs rather than forming a separate user-doc chapter here.
Modules:
- Contributing workflow explains Trac tickets, code mirrors, mailing lists, and patch submission.
- Development environments links the Ubuntu, Windows, and Docker setup paths.
- Ubuntu setup gives a practical package-based setup, build commands, installation into a test cluster, and cleanup.
- Windows setup records the current MSYS2 and Winnie MinGW build surfaces.
- Testing and debugging explains SQL regression tests, CUnit, dependency guards, and backtraces.
- Development TODO records high-level future work ideas that are not accepted designs or release blockers.
- Coding style covers C formatting, comments, Doxygen comments, and source naming conventions.
- Developer tools covers
logbt, formatting, coverage, and profiling entry points. - PostGIS internals covers allocator boundaries, PostgreSQL function macros, detoasting, geometry serialization structures, empty geometry semantics, spatial collections, raster affine georeferencing, raster physical georeferencing parameters, raster storage/WKB, and raster/GDAL driver boundaries.
- Release and upgrade rules indexes SQL/C API compatibility, upgrade scripting, dependency guards, regression roles, and support-window changes.
- Release process covers version numbering, release preparation, publishing, announcements, and opening the next development cycle.
- Manual documentation workflow covers DocBook, generated comments, translated manuals, images, and Doxygen output.
- Website maintenance covers the
postgis.netHugo repository, public development pages, release pointer updates, and website validation. - Pull request and maintainer workflow covers source-of-truth
branches, mirror PR handling, tracker trailers,
NEWS, and public readback. - Pull request metadata covers labels, milestones, draft state, and mirror metadata for PostGIS pull requests.
- Backpatching fixes covers supported-branch
fix propagation, commit provenance,
NEWS, Trac follow-up, and CI readback. - Governance notes records PSC process, core-contributor governance, project/service inventory, and governance-documentation consolidation notes.
- Docker setup summarizes the development container options historically documented on the Trac developer wiki.
The generated Doxygen manuals are published at https://postgis.net/docs/doxygen/. User-facing manuals remain at https://postgis.net/documentation/.
- API Compatibility
- CI Inventory Standards
- Commit and Branch Guidelines
- Memory Management
- PostGIS Project Inventory
- Ubuntu Development Environment
- Backpatching Fixes
- macOS Development Environment
- Contributing Workflow
- PostgreSQL Internals for PostGIS Developers
- Versioning Policy
- Windows Development Environments
- Pull Request Metadata
- FreeBSD Development Environment
- Deprecating and Removing API
- Development Environments
- Docker Development Environment
- Empty geometry semantics
- Development TODO
- Spatial collections and raster/vector crossings
- SQL Upgrade and Deprecation
- Testing and Debugging
- Dependency and Support Guards
- Developer Tools
- Raster affine georeferencing
- Coding Style Guidelines
- Raster physical georeferencing parameters
- PostGIS Internals
- Raster storage and WKB
- PostGIS Raster And The GDAL Driver
- Release and Upgrade Rules
- 2D and 3D Distance Internals
- Release Process
- Manual Documentation Workflow
- Precision And Tolerance Internals
- PostGIS Website Maintenance
- Topology Internals
- Governance Notes
- Pull Request and Maintainer Workflow