Ubuntu 12.04 上的 Postgresql 安装

Ubuntu 12.04 上的 Postgresql 安装

我无法使用 apt 安装 postgresql。

postgresql-9.1(或 postgresql-9.3)安装失败,显示:

* Starting PostgreSQL 9.1 database server
* Error: could not exec /usr/lib/postgresql/9.1/bin/pg_ctl /usr/lib/postgresql/9.1/bin/pg_ctl start -D /var/lib/postgresql/9.1/main -l  /var/log/postgresql/postgresql-9.1-main.log -s -o  -c  config_file="/etc/postgresql/9.1/main/postgresql.conf" :
                                                                                                                                                                                                                               [fail]
invoke-rc.d: initscript postgresql, action "start" failed.

当我尝试/usr/lib/postgresql/9.1/bin/pg_ctl /usr/lib/postgresql/9.1/bin/pg_ctl start -D /var/lib/postgresql/9.1/main -l /var/log/postgresql/postgresql-9.1-main.log -s -o -c config_file="/etc/postgresql/9.1/main/postgresql.conf"直接执行时,它会失败并显示:

/usr/lib/postgresql/9.1/bin/pg_ctl: symbol lookup error: /usr/lib/postgresql/9.1/bin/pg_ctl: undefined symbol: PQping

这是我的系统信息:

$ uname -a
Linux daclin 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

你知道发生什么事了吗?

答案1

我自己也遇到过同样的挫折。我使用这种方法解决了这个问题:

我们正在从存储库中删除 postgresql 的 apt。

sudo apt-get remove -y --purge postgresql*

然后,我们制作源列表以从公司直接下载 Postgre。

sudo touch /etc/apt/sources.list.d/pgdg.list
sudo nano /etc/apt/sources.list.d/pgdg.list

并将此行添加到 12.04 或 12.10 的 pgdg.list 中:

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

适用于 13.04 或 13.10

deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main

然后按 ctrl-x 保存 pgdg.list,最后返回命令行。
然后我们获取密钥以使用此 deb 包:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
sudo apt-key add -
sudo apt-get update

然后它将安装 postgresql-9.3。

答案2

好吧,我终于找到问题了。与 libpq.so 有冲突。它实际上被安装了两次。

跑步ldconfig -v | grep libpq显示:

libpq.so.5 -> libpq.so.5.1
libpq.so.5 -> libpq.so.5.6

我删除了第一个,现在它运行得很好。这个问题确实是我的设置特有的,但无论如何它可能有帮助……

相关内容