首页 > 解决方案 > 尝试在 Linux 上初始化 PostgreSQL 数据库服务器时出现“权限被拒绝”

问题描述

我正在尝试在 Linux 中设置 PostgreSQL,但出现以下错误:

[postgres@kibearch ~]$ initdb --pgdata=/var/lib/pgsql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

creating directory /var/lib/pgsql/data ... initdb: error: could not create directory "/var/lib/pgsql": Permission denied

如果我尝试使用sudo initdb --pgdata=/var/lib/psql/data/,它说initdb不能使用sudo

以下是我执行的步骤:

  1. sudo pacman -S postgresql
  2. postgres使用以下命令切换到用户用户:su - postgres
  3. 尝试初始化服务器,但出现上述错误

我能做些什么?

标签: postgresql

解决方案


作为根:

mkdir /var/lib/pgsql
chown postgres  /var/lib/pgsql

作为postgres:

initdb --pgdata=/var/lib/pgsql/data

推荐阅读