다른 직원으로부터 Ubuntu 데스크탑을 물려받아 다음의 도움으로 PostgreSQL을 설치했습니다.공식 가이드.
abc@lenovo:~$ sudo apt install postgresql-15
계정을 먼저 설정해야 하는지 몰랐기 때문에 데이터베이스를 생성하려고 하면 오류가 발생합니다. 이제 사용자를 생성하는 방법을 알았으며 이는 문제가 되지 않습니다.
abc@lenovo:~$ createdb
createdb: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: 치명적오류: "abc" 롤(role) 없음
외국어로 되어 있어 약간의 오류가 있으니 주의하시기 바랍니다. 모든 내용이 영어로 되어 있는지 확인하기 위해 /etc/default/locale
에 나열된 모든 로케일을 편집했습니다 en_US.UTF-8
.
abc@lenovo:~$ sudo vim /etc/default/locale
abc@lenovo:~$ cat /etc/default/locale
LANG=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LANGUAGE=en
그런 다음 시스템을 다시 시작했습니다. 그러나 생성된 메시지에는 PostgreSQL
여전히 외국어가 포함되어 있습니다. 로케일 변경 사항이 전혀 적용되지 않았다고 가정하고 패키지를 제거한 다음 다시 설치했습니다.
abc@lenovo:~$ sudo apt remove postgresql-15
abc@lenovo:~$ sudo apt install postgresql-15
PostgreSQL
그런 다음 설정을 확인했습니다 .
abc@lenovo:~$ grep lc_ /etc/postgresql/15/main/postgresql.conf
lc_messages = 'en_US.UTF-8' # locale for system error message
lc_monetary = 'en_US.UTF-8' # locale for monetary formatting
lc_numeric = 'en_US.UTF-8' # locale for number formatting
lc_time = 'en_US.UTF-8' # locale for time formatting
시스템에서 새 기본 로케일을 올바르게 상속합니다. 그러나 오류 메시지는 조금도 변하지 않았습니다.
abc@lenovo:~$ createdb
createdb: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: 치명적오류: "abc" 롤(role) 없음
내가 로케일을 놓쳤나요? 내부에 저장된 일부 캐시를 수동으로 지워야 합니까? 오류 메시지가 여전히 혼합되어 있는 이유는 무엇입니까?