我在ubuntu 16.04上,并在其上安装postgres 9.5
然后我将postgres 9.5升级到9.6,然后按postgresql offical download page安装9.6:
然后我运行df1 <- structure(list(col1 = c("{abcd} {efgh} {higk}", "[lmnop] [qrst] [uvwx]"
)), .Names = "col1", class = "data.frame", row.names = c(NA,
-2L))
,安装后,我运行以下命令进行升级
apt install postgresql-9.6
然后我尝试使用# stop the 9.6
$ sudo pg_dropcluster 9.6 main --stop
# upgrade 9.5 to latest version
$ sudo pg_upgradecluster 9.5 main
sudo pg_upgradecluster 9.5 main
Stopping old cluster...
Notice: extra pg_ctl/postgres options given, bypassing systemctl for stop operation
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Redirecting start request to systemctl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = "en_US:en",
LC_ALL = (unset),
LC_CTYPE = "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
命令连接旧群集。但错误:
psql
似乎pg_hba.conf错了,然后我在$ psql -U postgres -h localhost
psql: FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "postgres", SSL on
FATAL: no pg_hba.conf entry for host "::1", user "postgres", database "postgres", SSL off
检查了pg_hba.conf,但看起来很好:
/etc/postgresql/9.5/main/pg_hba.conf
答案 0 :(得分:7)
我能找到解决此问题的唯一解决方案是运行以下命令:
export LC_CTYPE=en_US.UTF-8 export LC_ALL=en_US.UTF-8
继续sudo pg_upgradecluster 9.5 main
答案 1 :(得分:-1)
解决方案很简单,只需在终端中运行以下命令:
$ sudo locale-gen "en_US:en"
$ sudo locale-gen "en_US.UTF-8"