配置DDEV安装PostGIS扩展后,执行CREATE EXTENSION提示扩展不可用
解决DDEV中PostGIS扩展未安装的问题
问题原因
Debian/Ubuntu系统的PostgreSQL仓库中,PostGIS包是与PostgreSQL版本绑定命名的。你配置的postgis是通用包名,但针对PostgreSQL 15,需要安装对应版本的postgis-15包,否则系统无法匹配到对应PG版本的扩展文件。
修复步骤
- 修改DDEV配置文件(
.ddev/config.yaml),更新dbimage_extra_packages为对应版本的PostGIS包:
name: whatever type: php docroot: public php_version: "8.3" webserver_type: nginx-fpm database: type: postgres version: "15" dbimage_extra_packages: [postgis-15]
- 重启DDEV容器使配置生效:
ddev restart
- 再次进入数据库容器启用扩展:
ddev ssh -s db psql CREATE EXTENSION postgis;
此时即可成功创建PostGIS扩展。
额外说明
若后续切换PostgreSQL版本,需同步调整PostGIS的包名:
- PostgreSQL 14 →
postgis-14 - PostgreSQL 16 →
postgis-16
内容的提问来源于stack exchange,提问作者Álvaro Franz
相关产品推荐
相关产品推荐

