Cory Nemelka wrote:
> ERROR: 22023: could not create locale "fr_FR.utf8": No such file or
> directory
> DETAIL: The operating system could not find any locale data for the locale
> name "fr_FR.utf8".
> LOCATION: report_newlocale_failure, pg_locale.c:1312
I can reproduce this by creating a new locale *after* starting
PostgreSQL and trying to use it before a restart.
Example with Ubuntu 18.04 and Postgres 11.5:
# locale-gen es_ES.utf8
Generating locales (this might take a while)...
es_ES.UTF-8... done
Generation complete.
Immediately refering to the locale will fail:
$ sudo -u postgres psql -d test -U postgres
test=# create collation es (provider=libc, locale='es_ES.utf8');
ERROR: could not create locale "es_ES.utf8": No such file or directory
DÉTAIL : The operating system could not find any locale data for the locale
name "es_ES.utf8".
Now restart postgresql
$ sudo /etc/init.d/postgresql restart
[ ok ] Restarting postgresql (via systemctl): postgresql.service.
And now it works:
$ sudo -u postgres psql -d test -U postgres
test=# create collation es (provider=libc, locale='es_ES.utf8');
CREATE COLLATION
test=# select * from pg_collation where collname='es' \gx
-[ RECORD 1 ]-+-----------
collname | es
collnamespace | 2200
collowner | 10
collprovider | c
collencoding | 6
collcollate | es_ES.utf8
collctype | es_ES.utf8
collversion |
Best regards,
--
Daniel Vérité
PostgreSQL-powered mailer: http://www.manitou-mail.org
Twitter: @DanielVerite