如何在将PostgreSQL从9.3升级到9.4时设置语言环境设置

时间:2016-05-17 20:50:33

标签: postgresql perl vagrant locale

当我跑步时:

sudo pg_upgradecluster 9.3 main

我收到了这个错误:

> perl: warning: Falling back to the standard locale ("C"). perl:
> warning: Setting locale failed. perl: warning: Please check that your
> locale settings:  LANGUAGE = (unset),     LC_ALL = (unset),   LC_CTYPE =
> "UTF-8",  LANG = "en_US.UTF-8"
>     are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Error: The locale requested by the
> environment is invalid. Error: Could not create target cluster

如何更改语言环境以执行此命令?

2 个答案:

答案 0 :(得分:1)

你需要运行:

aptitude install language-pack-es-base
locale-gen
​
export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
​
echo LANGUAGE=en_US.UTF-8 > /etc/default/locale
echo LANG=en_US.UTF-8 >> /etc/default/locale
echo export LC_ALL=en_US.UTF-8 >> /etc/default/locale

这将解决您的问题。

答案 1 :(得分:0)

当您从Mac笔记本电脑连接到Linux服务器(包括笔记本电脑上运行的虚拟Linux服务器)时,会发生这种情况。 SSH将LANGLC_*环境变量从本地shell转发到远程shell,并且Mac上使用的某些值在Linux服务器上无效。

可以通过各种方式解决问题,包括在服务器上安装缺少的区域设置。我建议只在服务器上删除SSH环境转发(删除AcceptEnv中的/etc/ssh/sshd_config)或笔记本电脑(删除SendEnv中的/etc/ssh/ssh_config)或两者。

How to fix a locale setting warning from Perl?

中了解详情