web-dev-qa-db-ja.com

initdb:rootとして実行することはできません

CentOSのPostgreSQLでデータベースクラスターを作成したいと考えています。

コマンド「initdb」を入力すると、結果は次のようになります。

[root@cll agensgraph]# initdb

initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.
3
Jessica

PostgreSQLデータベースでは、データベースプロセスを実際に実行するユーザーとして初期化を実行する必要があります。このユーザーはあなたではなく、postgrespostgresqlなどのシステムユーザーアカウントです。

CentOSでは、 PostgreSQL Wikiにある手順 に従って、ルートとして、次のいずれかを実行します。

service postgresql-9.6 initdb

または

/usr/pgsql-9.6/bin/postgresql96-setup initdb

(設定しているPostgreSQL 9.6であると仮定します)。

別のサイトが示唆しています

Sudo postgresql-setup initdb

マシンのPostgreSQLパッケージにドキュメントが付属している場合(ドキュメントは付属しているはずです)、このドキュメントはデータベースのバージョンを初期化する方法を正確に説明します。

3
Kusalananda