Install pigsty according to the pigsty docs. I use macOS Tahoe 26.5.2 and OrbStack 2.2.1. The influenced pigsty version is v4.4.0.
Reproduce:
cd pigsty/docker
make launch
- The error message is as follows.
[ERROR]: Task failed: Module failed: '/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" -o DPkg::Lock::Timeout=60 install 'postgresql-18-postgis-3=3.6.4+dfsg-2.pgdg13+1' 'postgresql-18-pgrouting=4.0.1-1.pgdg13+1' 'postgresql-18-pointcloud=1.2.5-4.pgdg13+1' 'postgresql-18-h3=4.2.3-4.pgdg13+1' 'postgresql-18-q3c=2.0.4-1.pgdg13+1' 'postgresql-18-ogr-fdw=1.1.9-1.pgdg13+1' 'postgresql-18-geoip=0.3.0-1PIGSTYtrixie' 'postgresql-18-pg-polyline=0.0.1-1PIGSTYtrixie' 'postgresql-18-eviltransform=0.0.2-1PIGSTYtrixie' 'postgresql-18-pg-geohash=1.0-1PIGSTYtrixie' 'postgresql-18-pghydro=6.6-1PIGSTYtrixie' 'postgresql-18-mobilitydb=1.3.0-1.pgdg13+1' 'postgresql-18-tzf=0.3.0-1PIGSTYtrixie'' failed: E: Unable to correct problems, you have held broken packages.
E: The following information from --solver 3.0 may provide additional context:
Unable to satisfy dependencies. Reached two conflicting decisions:
- postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 is selected for install
- postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 Depends libgdal39 (>= 3.7.0)
but none of the choices are installable:
[no choices]
Origin: /root/pigsty/roles/pgsql/tasks/install.yml:50:7
48
49 # install postgres extensions
50 - name: install postgres extensions
^ column 7
failed: [127.0.0.1] (item=postgresql-18-postgis-3,postgresql-18-pgrouting,postgresql-18-pointcloud,postgresql-18-h3,postgresql-18-q3c,postgresql-18-ogr-fdw,postgresql-18-geoip,postgresql-18-pg-polyline,postgresql-18-eviltransform,postgresql-18-pg-geohash,postgresql-18-pghydro,postgresql-18-mobilitydb,postgresql-18-tzf) => {"ansible_loop_var": "item", "cache_update_time": 1784550825, "cache_updated": false, "changed": false, "item": "postgresql-18-postgis-3,postgresql-18-pgrouting,postgresql-18-pointcloud,postgresql-18-h3,postgresql-18-q3c,postgresql-18-ogr-fdw,postgresql-18-geoip,postgresql-18-pg-polyline,postgresql-18-eviltransform,postgresql-18-pg-geohash,postgresql-18-pghydro,postgresql-18-mobilitydb,postgresql-18-tzf", "msg": "'/usr/bin/apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" -o DPkg::Lock::Timeout=60 install 'postgresql-18-postgis-3=3.6.4+dfsg-2.pgdg13+1' 'postgresql-18-pgrouting=4.0.1-1.pgdg13+1' 'postgresql-18-pointcloud=1.2.5-4.pgdg13+1' 'postgresql-18-h3=4.2.3-4.pgdg13+1' 'postgresql-18-q3c=2.0.4-1.pgdg13+1' 'postgresql-18-ogr-fdw=1.1.9-1.pgdg13+1' 'postgresql-18-geoip=0.3.0-1PIGSTYtrixie' 'postgresql-18-pg-polyline=0.0.1-1PIGSTYtrixie' 'postgresql-18-eviltransform=0.0.2-1PIGSTYtrixie' 'postgresql-18-pg-geohash=1.0-1PIGSTYtrixie' 'postgresql-18-pghydro=6.6-1PIGSTYtrixie' 'postgresql-18-mobilitydb=1.3.0-1.pgdg13+1' 'postgresql-18-tzf=0.3.0-1PIGSTYtrixie'' failed: E: Unable to correct problems, you have held broken packages.\nE: The following information from --solver 3.0 may provide additional context:\n Unable to satisfy dependencies. Reached two conflicting decisions:\n 1. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 is selected for install\n 2. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 Depends libgdal39 (>= 3.7.0)\n but none of the choices are installable:\n [no choices]\n", "rc": 100, "stderr": "E: Unable to correct problems, you have held broken packages.\nE: The following information from --solver 3.0 may provide additional context:\n Unable to satisfy dependencies. Reached two conflicting decisions:\n 1. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 is selected for install\n 2. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 Depends libgdal39 (>= 3.7.0)\n but none of the choices are installable:\n [no choices]\n", "stderr_lines": ["E: Unable to correct problems, you have held broken packages.", "E: The following information from --solver 3.0 may provide additional context:", " Unable to satisfy dependencies. Reached two conflicting decisions:", " 1. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 is selected for install", " 2. postgresql-18-ogr-fdw:arm64=1.1.9-1.pgdg13+1 Depends libgdal39 (>= 3.7.0)", " but none of the choices are installable:", " [no choices]"], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nSolving dependencies...\nSome packages could not be installed. This may mean that you have\nrequested an impossible situation or if you are using the unstable\ndistribution that some required packages have not yet been created\nor been moved out of Incoming.\nThe following information may help to resolve the situation:\n\nThe following packages have unmet dependencies:\n postgresql-18-ogr-fdw : Depends: libgdal39 (>= 3.7.0) but it is not installable\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "Solving dependencies...", "Some packages could not be installed. This may mean that you have", "requested an impossible situation or if you are using the unstable", "distribution that some required packages have not yet been created", "or been moved out of Incoming.", "The following information may help to resolve the situation:", "", "The following packages have unmet dependencies:", " postgresql-18-ogr-fdw : Depends: libgdal39 (>= 3.7.0) but it is not installable"]}
I asked Codex to solve the problem. The following is the response.
The deployment failed because the current PGDG Debian 13 ARM64 build of postgresql-18-ogr-fdw has an unsatisfiable dependency:
The error is triggered by Pigsty’s pg18-gis alias, which includes ogr_fdw. The checked workspace pigsty.yml only requests postgis and pgvector, so the failing /root/pigsty deployment is using a different inventory or extra variables.
Recommended fix, if ogr_fdw is unnecessary: replace pg18-gis in the actual /root/pigsty/pigsty.yml with the explicit GIS extensions excluding it:
pg_extensions:
- postgis
- pgrouting
- pointcloud
- pg_h3
- q3c
- geoip
- pg_polyline
- pg_eviltransform
- pg_geohash
- pghydro
- mobilitydb
- pg_tzf
If only PostGIS is needed:
pg_extensions: [postgis, pgvector]
Then perform the required dry run, using the exact cluster/group name:
cd /root/pigsty
./pgsql.yml -l <exact-target> -t pg_extension --check --diff
If ogr_fdw is required, the safest option is to wait for PGDG to publish a corrected rebuild. A temporary workaround is to enable PGDG’s PostgreSQL-18 component and pin postgresql-18-ogr-fdw to 1.1.8-2.pgdg13+1, which depends on libgdal36. The older package remains in the [official PGDG PostgreSQL-18 ARM64 index](https://apt.postgresql.org/pub/repos/apt/dists/trixie-pgdg/18/binary-arm64/). Do not install libgdal39 from Debian Sid—it would mix unstable libraries into Debian stable.
No configuration or host state was changed. Per the repository’s production policy, editing pigsty.yml and rerunning pgsql.yml require your explicit confirmation, exact target, and backup/state verification.
I think upgrading libgdal36 to libgdal39 is the suitable solution.
Install pigsty according to the pigsty docs. I use macOS Tahoe 26.5.2 and OrbStack 2.2.1. The influenced pigsty version is v4.4.0.
Reproduce:
cd pigsty/dockermake launchI asked Codex to solve the problem. The following is the response.
I think upgrading
libgdal36tolibgdal39is the suitable solution.