我有以下 DDEV 配置文件:
name: whatever
type: php
docroot: public
php_version: "8.3"
webserver_type: nginx-fpm
database:
type: postgres
version: "15"
dbimage_extra_packages: [postgis]
但是当我尝试启用扩展时,它说容器中没有安装postgis。
官方 ddev 文档 没有提及任何相关内容,所以我想知道 Stackoverflow 上是否有人可以解释一下此事。
这就是我尝试启用扩展的方式:
ddev ssh -s db
psql
CREATE EXTENSION postgis;
这就是我得到的:
db=# CREATE EXTENSION postgis;
ERROR: extension "postgis" is not available
DETAIL: Could not open extension control file "/usr/share/postgresql/15/extension/postgis.control": No such file or directory.
谢谢。
使用适合您的 PostgreSQL 版本的安装说明:
ddev config --dbimage-extra-packages=postgresql-16-postgis-3,postgresql-16-postgis-3-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-15-postgis-3,postgresql-15-postgis-3-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-14-postgis-3,postgresql-14-postgis-3-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-13-postgis-3,postgresql-13-postgis-3-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-12-postgis-3,postgresql-12-postgis-3-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-11-postgis-2.5,postgresql-11-postgis-2.5-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-10-postgis-2.4,postgresql-10-postgis-2.4-scripts,postgis
ddev config --dbimage-extra-packages=postgresql-9.6-postgis-2.3,postgresql-9.6-postgis-scripts,postgis
最好不要从元包安装,因为 PostgreSQL 的基本版本会随着每个 Debian 版本的变化而变化:
# do not use this
ddev config --dbimage-extra-packages=postgresql-postgis,postgresql-postgis-scripts,postgis