I am on ubuntu 16.04, and install postgres 9.5 on it
Then I to upgrade postgres 9.5 to 9.6, and I following postgresql offical download page to install 9.6:
then I run apt install postgresql-9.6
, after install, I run following commands to upgrade
# 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
Then I trying to using psql
command to connection old cluster. but errors:
$ 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
seems the pg_hba.conf is wrong, Then I check pg_hba.conf at /etc/postgresql/9.5/main/pg_hba.conf
, but it seems fine:
local all postgres peer
The only solution I could find to fix this is to run the following command:
export LC_CTYPE=en_US.UTF-8 export LC_ALL=en_US.UTF-8
Before proceeding with sudo pg_upgradecluster 9.5 main
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With