1

Macports で postgresql90 をインストールしようとしています。initdb を実行しようとすると、この奇妙なエラーが発生し続けます。

sudo su postgres -c '/opt/local/lib/postgresql90/bin/initdb -D /opt/local/var/db/postgresql90/defaultdb'

このエラーを返します:

sh: /opt/local/lib/postgresql90/bin/initdb: Permission denied

だから私は、「おそらくinitdbの権限が壊れている」と考えています。それから私は:

sudo ls -l /opt/local/lib/postgresql90/bin/initdb

そして戻ってきます:

-rwxr-xr-x  1 postgres  postgres  66952 25 Sep 10:06 /opt/local/lib/postgresql90/bin/initdb

だから私はinitdbに適切な権限を持っています。また、defaultdbをチェックして権限を確認したところ、所有者もpostgresであると言われています...

4

2 に答える 2

1

ディレクトリを確認してください/opt/local/var/db/postgresql90/defaultdb。存在しないか、親ディレクトリの権限が正しくありません。以下を実行します。

sudo chown postgres:postgres /opt/local/var/db/postgresql90
于 2012-10-15T18:36:10.290 に答える
0

もっともらしい説明は、sudoersファイルが NOEXEC で構成されており、起動されたプログラムsudoがそれ自体で他のプログラムを実行できないというものです。この場合、許可が拒否されます。

noexecそれ以外の場合は、属性でマウントされるパーティションに postgres がインストールされているかどうかを確認する必要があります。

于 2012-10-16T03:26:14.937 に答える