gpt4 book ai didi

linux - 无法在 Centos 5 上使用 postgis 启动 postgres

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:02:05 25 4
gpt4 key购买 nike

我想在 Centos5 64 位机器上使用 postgresql 和 postgis。

我首先以 root 身份使用以下命令:

> yum install postgresql

> yum install postgresql-server

> yum install postgresql-contrib

他们似乎成功了,但服务不会以“service postgresql start”启动。我试图找出它是否是版本问题,比如我需要说“service postgresql-8.4 start”之类的东西(我遇到了不同的 Linux 操作系统。)确定安装了哪个 postgres:

> yum list postgres* 

并且有一些 postgres 项目在版本列中显示 8.1。

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

> rpm -e postgresql-server 
> rpm -e postgresql-contrib
> rpm -e postgresql

我没有收到任何错误,所以我认为它有效。

然后我按照本页http://postgis.net/install/上的说明安装了 8.4 版的 postgis 托管在 postgresql但避免了关于更改 yum 存储库文件(第 2 步)的部分,因为在我的情况下,我似乎不想将 postgres* 排除在更新之外。

所以我先做了wget

> wget http://yum.postgresql.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm

(也忽略第 2 步和第 3 步,因为我已经 rpm 了 postgresql-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

等等……

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

谢谢。

最佳答案

当您安装 RedHat 提供的(通过 centos)postgresql 时,它期望拥有基础 /var/lib/pgsql/data 文件夹的所有权,因为 RHEL 不期望您安装更新的主要版本postgresql。 PGD​​BG 提供的 rpms 允许存在多个版本并将数据安装到 /var/lib/psql/VERSION/data,其中版本根据您安装的内容而变化。

如果你想坚持使用 RHEL 提供的 postgresql,你可能需要先清除整个 /var/lib/pgsql/data 目录,然后尝试 initdb。当然,如果您有现有的数据库数据,请不要这样做!

我建议您通过 PGDBG 尝试 9.3 版的 postgresql。

关于linux - 无法在 Centos 5 上使用 postgis 启动 postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18991352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com