fja*_*ngh 5 postgresql ubuntu locale ubuntu-16.04
从Ubuntu Server 14.04升级到16.04后,我还必须将Postgres集群从9.3升级到9.5。正常的方法是首先删除升级创建的(空)9.5集群:
#pg_dropcluster 9.5主
然后将旧的9.3群集升级到9.5:
#pg_upgradecluster 9.3主
但是,这会导致错误:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US.UTF-8",
LC_ALL = (unset),
LC_PAPER = "nl_NL.UTF-8",
LC_ADDRESS = "nl_NL.UTF-8",
LC_MONETARY = "nl_NL.UTF-8",
LC_NUMERIC = "nl_NL.UTF-8",
LC_TELEPHONE = "nl_NL.UTF-8",
LC_IDENTIFICATION = "nl_NL.UTF-8",
LC_MEASUREMENT = "nl_NL.UTF-8",
LC_TIME = "nl_NL.UTF-8",
LC_NAME = "nl_NL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
Error: The locale requested by the environment is invalid.
Error: Could not create target cluster
Run Code Online (Sandbox Code Playgroud)
这意味着我无法升级到Postgres 9.5。
我检查了所有语言环境设置:
该错误消息是从pg_updatecluster调用的pg_createcluster脚本生成的。但是从命令行运行pg_createcluster可以正常工作,没有任何问题。
我使用以下解决方法至少使转换正常工作。我编辑了/ usr / bin / pg_upgradecluster脚本,如下所示:
这至少可以避免此问题,并让您运行升级。
我的问题:这是pg_upgradecluster脚本中的错误,还是我的系统有其他问题?
在 ubuntu 16.04 服务器上遇到了同样的问题。对我来说有帮助的是生成出现在您的列表中的所有语言环境$ locale
:
$ sudo locale-gen "en_US.UTF-8"
$ sudo locale-gen "nl_NL.UTF-8"
Run Code Online (Sandbox Code Playgroud)
祝你好运!
就我而言,它抱怨的是
Error: The locale requested by the environment is invalid:
LANG: en_GB
LANGUAGE: en_GB:en
Run Code Online (Sandbox Code Playgroud)
所以我unset LANG
和unset LANGUAGE
它奏效了。
归档时间: |
|
查看次数: |
2335 次 |
最近记录: |