繁体   English   中英

尝试创建扩展时出现PostgreSQL错误

[英]PostgreSQL error when trying to create an extension

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

当我尝试CREATE EXTENSION postgis;时得到的是什么CREATE EXTENSION postgis; 谁能告诉我为什么会这样,我该怎么解决?

以下内容将为您在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上的文档

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

apt-get install postgresql-9.1-postgis-scripts

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

安装此软件包在我的Linux Mint 16机器上为我起到了作用:

# install hstore postgresql extension.
sudo apt-get install postgresql-contrib

DanielVérité接近事实,但还不够。 缺少的软件包是postgresql-9.1-postgis-2.0

sudo apt-get install postgresql-9.1-postgis-2.0

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

另外, postgis软件包还不够,它仅包含不依赖PG版本的内容,您需要postgresql-9.1-postgisdpkg -L package-name可方便地检出任何特定软件包提供的文件)。

知道安装路径后,正式的安装文档应足以设置模板数据库。

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

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。

我在Window 8.1安装程序中遇到了同样的问题。

我通过使用Postgres随附的Application StackBuilder并再次安装PostGIS(尽管尚未卸载)解决了该问题。

现在工作正常!

在C:\\ Program Files \\ PostgreSQL \\ 9.4中,我找到了uninstall-postgis-bundle-pg94x64-2.1.5-2.exe。 运行该命令可以解决我的问题,该问题是由重新安装PostgreSQL而没有先卸载而导致的,并且没有第二次安装PostGIS引起的。 当您安装的人员超过一个时,就会发生这种情况。

确保您已经安装了这个

sudo apt-get install postgresql-9.3-postgis

由于缺少此程序包,我遇到了同样的问题。

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

尝试这个

apt-get install postgis

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

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

在SLES 12 SP1上安装Postgis 2.X时,我遇到了最糟糕的噩梦。 zypper回购中没有兼容的软件包

这是在运行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数据库并创建扩展名postgis; 它会工作

在配置时, 重要的是应指定pg-config路径和geosconfig路径,并且不应包含“ without Raster”,因为RASTER在创建postgis扩展中起主要作用

这项工作对我来说

   SELECT PostGIS_full_version();

要创建后验,请在查询面板中的查询上方运行

并从您的数据库中删除postgis运行以下查询

   drop extension postgis

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM