我想在Centos5 64位计算机上将postgresql与postgis结合使用。
首先,我使用以下命令作为root命令:
> yum install postgresql
> yum install postgresql-server
> yum install postgresql-contrib他们似乎成功了,但这项服务不会以“服务postgresql start”开头。我试图找出它是否是一个版本问题,就像我需要说‘ServicePostgreSQL8.4 start’之类的(我遇到了一个不同的Linux操作系统)。要确定安装了哪个postgres,请执行以下操作:
> yum list postgres* 还有一些postgres项目在版本栏中写着8.1。
然后,我在某个地方读到postgis需要8.2或更高版本才能工作,所以我尝试用以下命令卸载8.1版本:
> rpm -e postgresql-server
> rpm -e postgresql-contrib
> rpm -e postgresql我没有发现任何错误,所以我想它成功了。
然后,我按照页面http://postgis.net/install/上的说明安装了托管在postgresql上的8.4版postgis,但避免了有关更改yum存储库文件的部分(步骤2),因为在我的示例中,我似乎不想排除postgres*被更新。
所以我第一次
> wget http://yum.postgresql.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm(也忽略步骤2和步骤3,因为我已经转了rpm‘’ed-server)。
> yum install postgis21因为postgis2 (如说明中所建议的)不可用。我还安装了84服务器。
> yum install postgresql84-server现在似乎同时安装了8.1和8.4个部件.
> yum list posgres*
Installed Packages
postgresql-libs.i386 8.1.23-6.el5_8 installed
postgresql-libs.x86_64 8.1.23-6.el5_8 installed
postgresql84.x86_64 8.4.13-1.el5_8 installed
postgresql84-libs.x86_64 8.4.13-1.el5_8 installed
postgresql84-server.x86_64 8.4.13-1.el5_8 installed
postgresql92-libs.x86_64 9.2.0-og1 installed
Available Packages
postgresql.x86_64 8.1.23-6.el5_8 base
postgresql-contrib.x86_64 8.1.23-6.el5_8 base
postgresql-devel.i386 8.1.23-6.el5_8 base
postgresql-devel.x86_64 8.1.23-6.el5_8 base
postgresql-docs.x86_64 8.1.23-6.el5_8 base
postgresql-jdbc.x86_64 8.1.407-1jpp.4 base
postgresql-odbc.x86_64 08.01.0200-3.1 base
postgresql-odbc64.x86_64 09.00.0200-1.el5 base
postgresql-pl.x86_64 8.1.23-6.el5_8 base
postgresql-python.x86_64 8.1.23-6.el5_8 base
postgresql-server.x86_64 8.1.23-6.el5_8 base
postgresql-tcl.x86_64 8.1.23-6.el5_8 base
postgresql-test.x86_64 8.1.23-6.el5_8 base
postgresql84-contrib.x86_64 8.4.13-1.el5_8 base
postgresql84-devel.i386 8.4.13-1.el5_8 base
postgresql84-devel.x86_64 8.4.13-1.el5_8 base
postgresql84-docs.x86_64 8.4.13-1.el5_8 base
postgresql84-libs.i386 8.4.13-1.el5_8 base
postgresql84-plperl.x86_64 8.4.13-1.el5_8 base
postgresql84-plpython.x86_64 8.4.13-1.el5_8 base
postgresql84-pltcl.x86_64 8.4.13-1.el5_8 base
postgresql84-python.x86_64 8.4.13-1.el5_8 base
postgresql84-tcl.x86_64 8.4.13-1.el5_8 base
postgresql84-test.x86_64 8.4.13-1.el5_8 base
postgresql92.x86_64 9.2.0-og1 opengeo
postgresql92-contrib.x86_64 9.2.0-og1 opengeo
postgresql92-devel.x86_64 9.2.0-og1 opengeo
postgresql92-docs.x86_64 9.2.0-og1 opengeo
postgresql92-plperl.x86_64 9.2.0-og1 opengeo
postgresql92-plpython.x86_64 9.2.0-og1 opengeo
postgresql92-pltcl.x86_64 9.2.0-og1 opengeo
postgresql92-server.x86_64 9.2.0-og1 opengeo和我被困在这里显示的循环中:
> service postgresql start
/var/lib/pgsql/data is missing. Use "service postgresql initdb" to initialize
the cluster first. [FAILED]
> service postgresql initdb
Initializing database: mkdir: cannot create directory `/var/lib/pgsql/data/pg
_log': File exists
> rm -rf /var/lib/pgsql/data/pg_log(好的,它会移除它)
> service postgresql initdb响应中写着‘初始化数据库:’,在冒号后面没有任何内容。
> service postgresql start
/var/lib/pgsql/data is missing. Use "service postgresql initdb" to initialize
the cluster first. [FAILED]
> service postgresql initdb
Initializing database: mkdir: cannot create directory `/var/lib/pgsql/data/pg
_log': File exists等等..。
有这些不同的版本会有问题吗?还有其他想法吗?
谢谢。
发布于 2013-10-02 21:05:55
当您安装RedHat时(通过centos) postgresql,它希望对基本的/var/lib/pgsql/data文件夹拥有所有权,因为RHEL并不期望您安装经过更新的postgresql的主要版本。PGDBG提供的rpms允许存在多个版本,并将数据安装到/var/lib/psql/VERSION/data中,在该版本中,版本根据您所安装的内容进行更改。
如果您希望坚持使用RHEL提供的postgresql,您可能需要先吹掉整个/var/lib/pgsql/data目录,然后尝试initdb。当然,如果您有现有的数据库数据,请不要这样做!
我建议您通过PGDBG尝试postgresql的9.3版本。
https://stackoverflow.com/questions/18991352
复制相似问题