20

postgres でテーブルスペースを作成しようとしていますが、所有権の問題が発生しています。私が使用しているコマンドは次のとおりです。

CREATE TABLESPACE magdat OWNER maggie LOCATION '/home/john/BSTablespace'

エラーが発生します:

ERROR:  could not set permissions on directory "/home/john/BSTablespace": Operation not permitted

フォルダーはpostgres:postgresに属しています。マギーに変更しようとしましたが、行くと:

chown maggie:postgres /home/john/BSTablespace

私は得る:

chown: invalid user: `maggie:postgres'

ユーザーが存在しないのはなぜですか?postgres 内のユーザーを一覧表示すると、表示されます。私が間違っている可能性のあるアイデアはありますか?

4

2 に答える 2

32

問題は親ディレクトリ「/home/john」のアクセス許可にあると推測できます。あなたのホーム ディレクトリはおそらく、あなたのユーザーだけがアクセスできるように設定されています (つまり、chmod 700) (ホーム ディレクトリが chmod 700 であることは良いことです。変更しないでください)。

次のようなことをします:

mkdir /BSTablespace
chown postgres:postgres /BSTablespace

その後

CREATE TABLESPACE magdat OWNER maggie LOCATION '/BSTablespace';

正常に動作するはずです。

ユーザー maggie について: データベース ユーザーは OS ユーザーと同じではありません。maggie という名前のユーザーを両方の場所に配置できないというわけではありませんが、そのためにはデータベースと OS の両方でユーザーを作成する必要があります。

于 2011-03-06T04:02:48.923 に答える