首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Centos 5上用postgis启动postgres时出错

在Centos 5上用postgis启动postgres时出错
EN

Stack Overflow用户
提问于 2013-09-24 20:24:36
回答 1查看 3.7K关注 0票数 1

我想在Centos5 64位计算机上将postgresql与postgis结合使用。

首先,我使用以下命令作为root命令:

代码语言:javascript
复制
> yum install postgresql

> yum install postgresql-server

> yum install postgresql-contrib

他们似乎成功了,但这项服务不会以“服务postgresql start”开头。我试图找出它是否是一个版本问题,就像我需要说‘ServicePostgreSQL8.4 start’之类的(我遇到了一个不同的Linux操作系统)。要确定安装了哪个postgres,请执行以下操作:

代码语言:javascript
复制
> yum list postgres* 

还有一些postgres项目在版本栏中写着8.1。

然后,我在某个地方读到postgis需要8.2或更高版本才能工作,所以我尝试用以下命令卸载8.1版本:

代码语言:javascript
复制
> rpm -e postgresql-server 
> rpm -e postgresql-contrib
> rpm -e postgresql

我没有发现任何错误,所以我想它成功了。

然后,我按照页面http://postgis.net/install/上的说明安装了托管在postgresql上的8.4版postgis,但避免了有关更改yum存储库文件的部分(步骤2),因为在我的示例中,我似乎不想排除postgres*被更新。

所以我第一次

代码语言:javascript
复制
> wget http://yum.postgresql.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm

(也忽略步骤2和步骤3,因为我已经转了rpm‘’ed-server)。

代码语言:javascript
复制
> yum install postgis21

因为postgis2 (如说明中所建议的)不可用。我还安装了84服务器。

代码语言:javascript
复制
> yum install postgresql84-server

现在似乎同时安装了8.1和8.4个部件.

代码语言:javascript
复制
> 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

和我被困在这里显示的循环中:

代码语言:javascript
复制
> 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

(好的,它会移除它)

代码语言:javascript
复制
> service postgresql initdb

响应中写着‘初始化数据库:’,在冒号后面没有任何内容。

代码语言:javascript
复制
> 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

等等..。

有这些不同的版本会有问题吗?还有其他想法吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 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版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18991352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档