所以今天早上我无法从Ubuntu repo安装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
有什么问题?
答案 0 :(得分:1)
根据dpkg -l 'postgres*'
的输出结果:
ii postgresql-9.2 9.2.4-1.pgdg12.4+1 amd64 object-relational SQL database, version 9.2 server un postgresql-client (no description available) ii postgresql-client-9.1 9.1.9-1ubuntu1 amd64 front-end programs for PostgreSQL 9.1 ii postgresql-client-9.2 9.2.4-1.pgdg12.4+1 amd64 front-end programs for PostgreSQL 9.2 ii postgresql-client-common 140 all manager for multiple PostgreSQL client versions ii postgresql-common 140 all
已安装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的方言中的低级命令,用预先初始化的数据(模板数据库,预定义的类型和视图等)填充集群。
很难想象这个文件会被破坏,特别是因为你在安装包含不同postgres.bki
文件的9.1时遇到了类似的问题。
你仍然可以检查一下5067行及周围的情况。在我的9.2.4的构建目录中,我有这个:
insert OID = 1 ( template1 10 ENCODING "LC_COLLATE" "LC_CTYPE" t t -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
答案 1 :(得分:0)
你......试图安装postgres?
这些命令中的任何一个都可以帮助您:
sudo apt-get install postgresql-9.1
sudo apt-get install postgresql-9.2
如果这些命令返回错误,则错误响应将包含在您的问题中。
我担心以前从未尝试过手动创建群集,所以我可能没什么帮助。