我像往常一样使用 postgres 镜像通过 Docker 创建了一个数据库
docker run -d \
--name some-postgres \
-e POSTGRES_PASSWORD=mypassword \
-v ${HOME}/postgres-data/:/var/lib/postgresql/data \
-p 5432:5432 \
postgres
现在我决定在其中一个表中添加一个新列来使用 PostGIS 存储坐标,但是当我这样做时
CREATE EXTENSION postgis;
或类似的东西我收到此错误消息:
ERROR: could not open extension control file "/usr/share/postgresql/12/extension/postgis.control": No such file or directory
在运行 Docker 容器之前是否需要执行额外的步骤才能安装 PostGIS?
postgis 扩展不附带普通的 postgres,后者确实附带了一大堆更通用的扩展,尽管对于地理空间没有什么值得注意的。看看这个:https://registry.hub.docker.com/r/postgis/postgis/
我知道已经有了回应,但这可以帮助某人
[voir ici]:https://hub.docker.com/r/kartoza/postgis/
sudo docker run -d --name postgis_postgres -e POSTGRES_PASSWORD=postgrespassword -e POSTGRES_USER=postgres -v /home/judith/Documents/postgres/db-data/:/var/lib/postgresql/data -p 8000:8000 kartoza/postgis:9.6-2.4
这里/home/judith/Documents/postgres/db-data/是postgres容器的数据库数据的路径
judith@jlas:~$ sudo docker exec -it postgis_postgres bash
root@544c89fadeda:/# //you will be there
root@544c89fadeda:/# psql -h localhost -p 5432 -U postgres
postgres=# CREATE EXTENSION postgis;
CREATE EXTENSION
postgres=#