53

ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/postgis.control": No such file or directory

当我尝试时,我得到了什么,CREATE EXTENSION postgis;有人能告诉我为什么会这样吗?我能做些什么来解决它?

4

15 回答 15

27

以下将让您在 Ubuntu 12.04 上安装工作的 postgis(注意:也在 13.10 上测试过)

echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" | sudo tee /etc/apt/sources.list.d/postgis.list
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.3 postgresql-9.3-postgis-2.1 postgresql-client-9.3
sudo -u postgres psql -c 'create extension postgis;'

基于https://wiki.postgresql.org/wiki/Apt上的文档

于 2013-11-20T11:43:07.043 回答
25

您需要安装postgresql-9.1-postgis-scripts. 在 Ubuntu 或 Debian 中,您需要以 root 身份运行以下命令:

apt-get install postgresql-9.1-postgis-scripts

postgis这将添加创建扩展所需的文件。

于 2014-04-30T21:01:46.530 回答
11

在我的 Linux Mint 16 机器上安装这个包对我有用:

# install hstore postgresql extension.
sudo apt-get install postgresql-contrib
于 2014-10-16T18:01:20.207 回答
5

Daniel Vérité 接近真相,但还不够。缺少的包是postgresql-9.1-postgis-2.0

sudo apt-get install postgresql-9.1-postgis-2.0
于 2013-11-27T09:42:41.280 回答
4

大概postgis您安装的版本是 1.5.x,它不是作为扩展,而是作为需要手动应用以创建必要的 SQL 对象的几个 SQL 脚本。

包也postgis不够,它只包含不依赖于 PG 版本的东西,你需要postgresql-9.1-postgisdpkg -L package-name方便检查任何特定包提供的文件)。

一旦知道安装路径,官方安装文档应该足以设置模板数据库。

于 2013-09-12T14:10:11.510 回答
4

刚刚解决了。您必须卸载 postgis-1.5。您安装了它而不是 PostGIS 2.0。安装后,postgis-2.0您将在扩展目录中看到更正的库。在安装之前,您应该添加一个正确的存储库(请参阅http://docs.pgrouting.org/2.0/en/doc/src/installation/index.html#ubuntu-debian)。用于ppa:ubuntugis/ubuntugis-unstablePostGIS 2.0。尝试其中之一

apt-get remove postgis
apt-get remove postgresql-9.1-postgis
apt-get install postgresql-9.1-postgis

由于依赖项错误,我无法删除和安装。经过几次尝试后,我刚刚删除postgresql-9.1-postgis并 apt-get 让我将其升级到 2.0。

于 2014-01-10T12:57:11.367 回答
3

在 C:\Program Files\PostgreSQL\9.4 我找到了uninstall-postgis-bundle-pg94x64-2.1.5-2.exe。运行它解决了我的问题,这是由于重新安装 PostgreSQL 而没有首先卸载,也没有第二次安装 PostGIS。当你不止一个人安装东西时,就会发生这种情况。

于 2015-03-26T09:18:48.050 回答
3

我在 Window 8.1 设置中遇到了同样的问题。

我通过简单地使用Application StackBuilderPostgres 附带的并再次安装 PostGIS 来解决它(尽管没有卸载它)

现在工作正常!

于 2014-09-10T14:41:48.933 回答
2

确保你已经安装了这个

sudo apt-get install postgresql-9.3-postgis

由于缺少此包裹,我面临同样的问题。

于 2014-09-24T12:34:02.450 回答
2

在 14.04 上,有postgresql-9.3-postgis-scripts,其中包含postgis.control文件。

于 2015-12-07T13:16:26.070 回答
2

尝试这个

apt-get install postgis
于 2018-09-04T06:01:10.110 回答
0

CentOS 需要一个不同的软件包来解决这个问题。对于 CentOS 6,如果您使用位于http://yum.pgdgrpms.org/9.3/redhat/的 PGDG yum 存储库,请使用命令 'yum install postgresql93-contrib 安装 postgresql93-contrib 软件包。

根据 PostgreSQL 9.4 的需要进行更新和编辑。

于 2014-12-01T20:06:37.217 回答
0

如果您使用的是 Windows 系统,请下载postgis.bundle.exe并手动安装,仅C:/(PostgreSQLdirectory/version/ )此而已。

于 2017-11-01T16:00:55.747 回答
0

在 SLES 12 SP1 上安装 Postgis 2.X 时,我做了最糟糕的噩梦。zypper repo 中没有兼容的包

这是在运行 9.4.X 的 Postgres 服务器实例上解决它的方法

我根据错误在 PostGis 之前安装的 Prerequsite 软件包

Proj 4 Download source cold, Build --> make install
install Gdal andjibson by adding zypper repo zypper addrepo http://download.opensuse.org/repositories/Application:Geo/SLE_12_SP1_Backports/Application:Geo.repo
zypper install gdal gdal-devel libjson-c-devel libjson

安装 Postgis

Download postgis source code (http://download.osgeo.org/postgis/source/postgis-2.3.0rc1.tar.gz)

Go to Postgis folder 
./configure --with-pgconfig=/usr/lib/postgresql94/bin/pg_config --with-geosconfig=/usr/local/bin/geos-config 
make 
make install

现在,如果您转到 postgress DB 并创建扩展 postgis;它会起作用的

配置时很重要,您应该指定 pg-config 路径和 geosconfig 路径,并且您不应该包括“没有 Raster”,因为 RASTER 在创建 postgis 扩展中起主要作用

于 2016-09-21T05:36:01.700 回答
0

这对我有用

   SELECT PostGIS_full_version();

在查询面板中创建 postgisis 在查询上方运行

为了从您的数据库中删除 postgis,请运行以下查询

   drop extension postgis
于 2017-05-10T10:09:12.077 回答