2013-07-01 73 views
10

对于安装postgresql 9.2我关注了此网址:http://www.ubuntugeek.com/how-to-install-postgresql-9-2-on-ubuntu-server-using-ppa.htmlPostgreSQL的9.2安装在Ubuntu 12.04

但在安装输出的末尾是这样的:

Setting up postgresql-common (140~precise) ... 
locale: Cannot set LC_MESSAGES to default locale: No such file or directory 
locale: Cannot set LC_ALL to default locale: No such file or directory 
Adding user postgres to group ssl-cert 
Building PostgreSQL dictionaries from installed myspell/hunspell packages... 
* No PostgreSQL clusters exist; see "man pg_createcluster" 
Setting up postgresql-9.2 (9.2.4-0ppa1~precise) ... 
Error: The locale requested by the environment is invalid. 
Error: could not create default cluster. Please create it manually with 

    pg_createcluster 9.2 main --start 

or a similar command (see 'man pg_createcluster'). 
update-alternatives: using /usr/share/postgresql/9.2/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode. 
* No PostgreSQL clusters exist; see "man pg_createcluster" 
Processing triggers for libc-bin ... 
ldconfig deferred processing now taking place 

当我试图启动PostgreSQL的,它提供了以下错误:

sudo /etc/init.d/postgresql start 
perl: warning: Setting locale failed. 
perl: warning: Please check that your locale settings: 
    LANGUAGE = (unset), 
    LC_ALL = (unset), 
    LC_MESSAGES = "en_IN.UTF-8", 
    LANG = "en_US.UTF-8" 
    are supported and installed on your system. 
perl: warning: Falling back to the standard locale ("C"). 
* No PostgreSQL clusters exist; see "man pg_createcluster" 

我该如何解决这个问题?

回答

19

您的系统语言环境配置已混乱。您的LC_MESSAGES设置为en_IN.UTF-8,但LANG设置为en_US.UTF-8,这很奇怪且不一致。您是否在~/.bash_profile/etc/environment或其他地方设置了LC_MESSAGES

你真的应该dpkg-reconfigure locales。见how to select and generate locales in Ubuntu

修复了语言环境设置后,可以使用错误建议的pg_wrapper命令pg_createcluster 9.2 main --start创建集群。之后,开始服务将工作。

+0

这个我安装SDK6之前,但它并没有给任何错误。那么为什么postgresql给了porblem? –

+0

@NareshJ什么是“SDK6”?你也许是指“OpenJDK 6 SDK”?答案是,如果您的语言环境配置完全中断,某些程序不会介意太多。 PostgreSQL的确。 **您需要重新生成语言环境**,以便“en_US.UTF-8”和“en_IN.UTF-8”的语言环境数据实际存在。 –

+2

嘿,谢谢你,我通过完成删除postgres解决了问题,然后安装了'language-pack-en-base',然后再次安装了postgresql。有效。再次感谢您准确指出错误。 :) –

27

我尝试了所有我能找到的解决方案,但最终这个职位分类是:

http://ubuntuforums.org/showthread.php?t=1720356

基本上,添加要在/ etc /环境的语言。在我的情况:

sudo nano /etc/environment 

然后将此添加到该文件的末尾:

LC_ALL="en_US.utf-8" 

然后重新启动服务器

sudo reboot 
+1

伟大的,为我工作! –

+1

它也适用于我。 –

+1

谢谢你,效果很好 – rusllonrails