Ubuntu 12.04의 PostgreSQL 9.2“잘못된 로캘 이름”


9

오늘 저는 apt.postgresql.org를 통해 Ubuntu에 Postgresql 9.2를 정확하게 설치했습니다.

root@ubuntu:/tmp# sudo -u postgres psql -Xc "CREATE DATABASE test TEMPLATE template0 ENCODING 'utf8' LC_CTYPE='it_IT.utf8'"
ERROR:  invalid locale name: "it_IT.utf8"

나는 locale-gen it_IT.utf8그래도 달렸다 .

root@ubuntu:/tmp# locale -a
C
C.UTF-8
en_GB.utf8
en_US.utf8
it_IT.utf8
POSIX

로그에 postgres가 it_IT.utf8을 인식하지 못하는 이유에 대한 의미있는 정보가없는 것 같습니다 ... 도와 줄 수 있습니까?

답변:


20

새 로케일을 만든 후에 PostgreSQL을 다시 시작하지 않은 것이 그 이유입니다. service postgresql restart충분해야합니다.

이것은 아마도 리눅스에서 로케일이 구현되는 방식 때문일 것 libc입니다. 새로운 로케일은 이미 실행중인 프로세스 환경으로 완벽하게 가져올 수 없습니다.


이것은 내 것보다 훨씬 덜 잔인한 해결책입니다 :)
giorgiga

0

local-gen 내 경우에는 작동하지 않았다.

누락 된 로캘을 다음과 같이 설치했습니다.

dpkg-reconfigure locales

그런 다음에 나타났습니다 locale -a:

locale -a

그런 다음 postgresql을 다시 시작하십시오.

service postgresql restart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.