我想在 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/上的说明安装了在 postgresql 上托管的 8.4 版本的 postgis,但避免了有关更改 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'ed 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
等等……
有这些不同的版本会有问题吗?还有其他想法吗?
谢谢。