我想设置一个 PostgreSQL 数据库,但initdb
遇到了身份验证错误。我似乎正在按照文档中的描述进行操作。
- 我以postgres用户身份登录
doas -u postgres -s
(AFAIK 与 相同su - postgres
) cd
到/home/user/A/B/postgres
.stat .
产量
访问:(0700/drwx------) Uid:(965/postgres) Gid:(965/postgres)
id
产量
uid=965(postgres) gid=965(postgres) 组=965(postgres)
- 运行
initdb -D /home/user/A/B/data
会导致错误:
无法将目录更改为“/home/user/A/B/postgres”:权限被拒绝
属于该数据库系统的文件将归用户“postgres”所有。该用户还必须拥有服务器进程。
数据库集群将使用语言环境“C”进行初始化。因此,默认数据库编码已设置为“SQL_ASCII”。默认文本搜索配置将设置为“英语”。
数据页校验和被禁用。
initdb:错误:无法访问目录“/home/user/A/B/postgres/data”:权限被拒绝
data
无论是否事先创建目录以及使用相对路径和绝对路径,都会遇到此错误或类似错误。路径中的文件夹 A 和 B 不属于postgres。
我在 manjaro 上使用postgresql 13.4-6,并使用 doas 进行身份验证并卸载了 sudo。