Nouvelle version : PostGIS 3.6.0 (Publiée le 2 septembre 2025)
PostGIS 3.6.0 est disponible depuis le 2 septembre 2025. Elle est conçue pour fonctionner avec PostgreSQL 12 à 18 beta 3, nécessite GEOS 3.8+ (avec des optimisations pour GEOS 3.14+) et Proj 6.1+. Pour activer toutes les fonctionnalités de SFCGAL, la version 2.2.0+ est requise.(PostGIS)
Disponibilité et téléchargement de PostGIS
PostGIS est l’extension spatiale la plus utilisée pour PostgreSQL, mais sa disponibilité varie selon le système d’exploitation et la version de PostgreSQL. Il est important de choisir la version stable adaptée à votre environnement pour éviter les problèmes de compatibilité et assurer la fiabilité de vos traitements géospatiaux.
Le tableau ci-dessous résume les versions stables et expérimentales disponibles selon les principaux systèmes :
Système | Version PostgreSQL | Version PostGIS stable | Version expérimentale / Beta | Lien de téléchargement / Installation |
---|---|---|---|---|
Windows | 15 | 3.5.3 | 3.6 (tests uniquement) | Via StackBuilder inclus dans PostgreSQL : Extensions > Spatial Extensions > PostGIS 3.5.3 Documentation PostGIS Windows |
Ubuntu / Debian | 15 | 3.5 | 3.6 (compilation source) | sudo apt install postgis postgresql-15-postgis-3.5 PostGIS packages Ubuntu/Debian |
RedHat / CentOS / Fedora | 15 | 3.5 | 3.6 (compilation source) | sudo dnf install postgis31_15 PostGIS packages RPM |
Linux (toutes distros) | Toutes | Compilation source | Dernière version dev (3.6+) | PostGIS source |
Conseils pratiques
- La version 3.6 n’est pas encore officiellement disponible sur Windows.
- Les versions expérimentales sont destinées uniquement aux tests et à la découverte des nouvelles fonctionnalités.
- Sur Windows, StackBuilder facilite l’installation et la mise à jour des dépendances.
- Sur Linux, la compilation depuis les sources permet d’accéder aux dernières fonctionnalités, mais nécessite une configuration correcte de PostgreSQL et des bibliothèques de développement.
Compatibilité & environnements requis
- Version compatibles : PostgreSQL 12 → 18 beta 3
- Pré-requis essentiels :
- GEOS ≥ 3.8, idéalement 3.14+ pour performance et nouvelles fonctions
- PROJ ≥ 6.1
- SFCGAL ≥ 2.2 pour exploiter pleinement les fonctions 3D (PostGIS)
Nouvelles fonctionnalités marquantes
3D / SFCGAL :
CG_Simplify
,CG_3DAlphaWrapping
pour la manipulation d’éléments 3D- Transformations géométriques : mise à l’échelle, rotation, translation, buffer 3D, etc. (PostGIS)
Couverture & topologie :
ST_CoverageClean(...)
: assure une couverture propre (sans chevauchements, bords alignés, remplissage des écarts). Exemple d’utilisation :CREATE TABLE example_clean AS SELECT id, ST_CoverageClean(geom) OVER () AS geom FROM example;
Utile pour valider la géométrie d’un coverage. (PostGIS)
Traitements raster :
ST_AsRasterAgg
: convertit efficacement une géométrie en raster durant l’agrégation.ST_ReclassExact
: reclassification rapide et précise des valeurs de raster.ST_IntersectionFractions
: calcul des fractions de superposition des cellules raster avec UE géométrique (nécessite GEOS 3.14).postgis.gdal_cpl_debug
(GUC) : journalisation des messages GDAL dans PostgreSQL. (PostGIS)
Changements majeurs / Breaking changes à noter
ST_TileEnvelope
: les enveloppes sont désormais restreintes à l’étendue des tuiles (tile plane extent). (PostGIS)geometry_columns
: suppression des vérifications de contraintes, impactant anciens workflows. (PostGIS)- Dépréciation des fonctions topologiques
integer
: désormais remplacées par leur versionbigint
. (PostGIS) - Changement pour TIN / PolyhedralSurface : utiliser
ST_NumPatches
etST_PatchN
à la place deST_NumGeometries
, qui ne renvoient plus les sous-geometries. (PostGIS) - Suppression de
st_approxquantile(raster, double precision)
, inutilisable dans la pratique. (PostGIS)
Processus de mise à jour
Pour migrer vers PostGIS 3.6 (3.0 à 3.6) :
SELECT postgis_extensions_upgrade();
Pour les versions ≤ 2.5 :
ALTER EXTENSION postgis UPDATE;
SELECT postgis_extensions_upgrade();
« ` :contentReference[oaicite:10]{index=10}
Cas d’usage avancés
Nettoyage de couverture impure
WITH dirty AS (
SELECT id, geom FROM coverage_table
)
SELECT id, ST_AsText(ST_CoverageInvalidEdges(geom) OVER ()) AS invalid_geom
FROM dirty;
CREATE TABLE coverage_clean AS
SELECT id, ST_CoverageClean(geom) OVER () FROM dirty;
SELECT id, ST_AsText(ST_CoverageInvalidEdges(geom) OVER ()) FROM coverage_clean;
Reclassification de raster
SELECT ST_ReclassExact(rast, '[(1,10,100),(11,20,200)]') AS reclass_rast
FROM raster_table;
Simulation 3D simple
SELECT CG_3DAlphaWrapping(geom) FROM building_wall;