我从另一位员工那里继承了 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) 없음
我错过了区域设置吗?我需要手动擦除一些存储在内部的缓存吗?为什么错误消息仍然是混杂的?