1

所以今天早上我无法从 Ubuntu 存储库安装 Postgres 9.1。我尝试从 postgres repo 安装 9.2,但如果失败并出现相同的错误。错误跟踪真的没有信息(我什至不知道这个错误的根源是什么)。谷歌也没有告诉我任何事情。

它在安装过程中失败并出现同样的错误,我尝试手动创建集群。但...

root@Ubuntu-1304-raring-64-minimal /home/tmp # pg_createcluster 9.2 main --start
Creating new cluster (configuration: /etc/postgresql/9.2/main, data:                 /var/lib/postgresql/9.2/main)...
FATAL:  syntax error at line 5067: unexpected character ";"
child process exited with exit code 1
initdb: removing contents of data directory "/var/lib/postgresql/9.2/main"
Error: initdb failed

怎么了?

4

2 回答 2

1

根据以下输出dpkg -l 'postgres*'

ii postgresql-9.2 9.2.4-1.pgdg12.4+1 amd64 对象关系 SQL 数据库,9.2 版服务器
un postgresql-client (没有可用的描述)
ii postgresql-client-9.1 9.1.9-1ubuntu1 amd64 用于 PostgreSQL 9.1 的前端程序
ii postgresql-client-9.2 9.2.4-1.pgdg12.4+1 amd64 PostgreSQL 9.2 前端程序
ii postgresql-client-common 140 多个 PostgreSQL 客户端版本的所有管理器
ii postgresql-common 140 全部              

已经安装了 postgresql-9.2(请参见ii最左侧列中的标志),以及来自 pgdg 和 ubuntu 存储库的 9.1 和 9.2 的客户端工具。

无论如何,遇到的错误pg_createcluster是很不寻常的。从输出,尤其是行号来看,播放文件时似乎底层initdb失败了。postgres.bki

对于 9.2,此文件为:/usr/share/postgresql/9.2/postgres.bki. 它包含类似 sql 方言的低级命令,用于使用预初始化数据(模板数据库、预定义类型和视图等)填充集群

很难想象这个文件会被损坏,尤其是当您在安装 9.1 时遇到类似的问题,而该postgres.bki文件与包中的文件不同。

您仍然可以检查以防万一 5067 行及附近有什么。在我的 9.2.4 构建目录中,我有这个:

插入 OID = 1(模板 1 10 编码“LC_COLLATE”“LC_CTYPE”tt -1 0 0 1663 _null_)

;整个文件中的任何地方都没有字符。

除此之外,您可能希望删除整个 postgresql 安装以从干净的基础重新启动:

# purge client packages
dpkg --purge postgresql-client-9.1 postgresql-client-9.2 postgresql-client-common
# purge server packages
dpkg --purge postgresql-9.2 postgresql-common
于 2013-07-20T12:26:38.647 回答
0

你... 试图安装 postgres?

这些命令中的任何一个都应该让您上路:

sudo apt-get install postgresql-9.1
sudo apt-get install postgresql-9.2

这是下载页面

如果这些命令返回错误,则错误响应将是包含在您的问题中的有用信息。

恐怕我以前从未尝试过手动创建集群,所以我可能帮不上什么忙。

于 2013-07-18T05:28:26.623 回答