Обсуждение: Upgrading from postgresql 11 to postgresql 17 using pg_upgrade
pg_restore: error: could not execute query: ERROR: encoding "UTF8" does not match locale "tr_TR.iso88599" DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN5". Command was: CREATE DATABASE "zzz" WITH TEMPLATE = template0 OID = 84322 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'tr_TR.iso88599' TABLESPACE = "zz";
postgresql 11 database list
please help
Вложения
Hiduring upgrade we encounterpg_restore: error: could not execute query: ERROR: encoding "UTF8" does not match locale "tr_TR.iso88599" DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN5". Command was: CREATE DATABASE "zzz" WITH TEMPLATE = template0 OID = 84322 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'tr_TR.iso88599' TABLESPACE = "zz";
postgresql 11 database list
please help
Вложения
Hiduring upgrade we encounterpg_restore: error: could not execute query: ERROR: encoding "UTF8" does not match locale "tr_TR.iso88599" DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN5". Command was: CREATE DATABASE "zzz" WITH TEMPLATE = template0 OID = 84322 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'tr_TR.iso88599' TABLESPACE = "zz";
postgresql 11 database list
please help
--
Hi Muhammet,
You aren't using pg_upgrade as you are saying in the subject line, but pg_restore for restoring, which means you did a pg_dump -Fc before.
In order to avoid the errors you have encountered, the safest bet ist ALWAYS to use UTF8. Use UTF8 as encoding for ALL databases, and Collate and CType language_country.UTF-8, in your case tr_TR.UTF-8. Don't bother with the outdated iso8859x character sets.
UTF8 can handle all characters from all languages, special characters, emojis and so on.
Make sure that the database cluster also has been initialised with the correct encoding. Check whether the encoding of template1 database is the same. Otherwise, run the initdb command again with correct settings, see manpage of initdb.
This command works nonetheless
create database kurt with encoding = utf8 locale = tr_TR lc_collate = 'tr_TR.UTF-8' lc_ctype = 'tr_TR.UTF-8' locale_provider = libc template = template0;
Selamlar
Holger
Holger Jakobs, Bergisch Gladbach, Germany
Вложения
Hiduring upgrade we encounterpg_restore: error: could not execute query: ERROR: encoding "UTF8" does not match locale "tr_TR.iso88599" DETAIL: The chosen LC_CTYPE setting requires encoding "LATIN5". Command was: CREATE DATABASE "zzz" WITH TEMPLATE = template0 OID = 84322 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'tr_TR.iso88599' TABLESPACE = "zz";
postgresql 11 database list
please help
--