[英]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;'
您需要安装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-postgis
( dpkg -L package-name
可方便地检出任何特定软件包提供的文件)。
知道安装路径后,正式的安装文档应足以设置模板数据库。
刚解决。 您必须卸载postgis-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.