postgresql - 已安装postgis但无法创建扩展:错误:无法打开扩展控制文件~/postgis.control":没有这样的文件或目录
问题描述
我正在使用 ubuntu 18.0.4 并且我有一个 postgresql 数据库。显然我已经安装了postgresql。我也安装了postgis:
sudo apt install postgis postgresql-11-postgis-2.5
通过使用此命令:
dpkg -l | grep postgresq
它返回:
ii pgdg-keyring 2018.2
all keyring for apt.postgresql.org
ii postgresql 12+210.pgdg18.04+1
all object-relational SQL database (supported version)
ii postgresql-11 11.6-1.pgdg18.04+1
amd64 object-relational SQL database, version 11 server
ii postgresql-11-postgis-2.5 2.5.3+dfsg-2.pgdg18.04+1
amd64 Geographic objects support for PostgreSQL 11
ii postgresql-11-postgis-2.5-scripts 2.5.3+dfsg-2.pgdg18.04+1
all Geographic objects support for PostgreSQL 11 -- SQL scripts
ii postgresql-12 12.1-1.pgdg18.04+1
amd64 object-relational SQL database, version 12 server
ii postgresql-client-11 11.6-1.pgdg18.04+1
amd64 front-end programs for PostgreSQL 11
ii postgresql-client-12 12.1-1.pgdg18.04+1
amd64 front-end programs for PostgreSQL 12
ii postgresql-client-common 210.pgdg18.04+1
all manager for multiple PostgreSQL client versions
ii postgresql-common 210.pgdg18.04+1
all PostgreSQL database-cluster manager
ii postgresql-contrib 12+210.pgdg18.04+1
all additional facilities for PostgreSQL (supported version
并使用此命令:
dpkg -l | grep postgis
它返回:
ii postgis 3.0.0+dfsg-2~exp1.pgdg18.04+1
amd64 Geographic objects support for PostgreSQL
ii postgresql-11-postgis-2.5 2.5.3+dfsg-2.pgdg18.04+1
amd64 Geographic objects support for PostgreSQL 11
ii postgresql-11-postgis-2.5-scripts 2.5.3+dfsg-2.pgdg18.04+1
all Geographic objects support for PostgreSQL 11 -- SQL scripts
但是当我尝试创建扩展时:
CREATE EXTENSION postgis;
它引发了这个错误:
错误:无法打开扩展控制文件>“/usr/share/postgresql/12/extension/postgis.control”:没有这样的文件或目录
为什么我在安装完所有东西后无法创建此扩展程序?
解决方案
您为 PostgreSQL v11 安装安装了 PostGIS,但是当您尝试创建扩展时,您已连接到 v12 数据库。
您必须连接到 v11 数据库或为 v12 安装安装 PostGIS。
推荐阅读
- html - method="post" 和 type="submit" (HTML) 有什么区别?
- c++ - 如何通过在c ++中输入y,n来重新启动并完成程序(上下游戏)
- python - 为什么 "int(''.join(map(str,numset)))" 在 Python 中会导致 ValueError?
- c# - 如果它等于特定字符串,则使用 File.ReadAllLines 跳过行
- pandas - 使用非索引变量订购 Seaborn 热图
- arrays - 从数组中删除项目 - 父子 - React Hooks
- python - 如何在 django orm 中选择不同的名称及其对应的最早检测时间?
- c - 为什么从 32 位二进制大端编码的文件中读取 IEEE-754 浮点时会丢失精度?
- sql - 数据库架构:一张表使用 WHERE 与多张
- c# - 在需要 char* 参数的应用程序的组件之间传递不断变化的 c++ 字符串的廉价且简单的方法