2017-03-22 8 views
0

私はpostgresql -8.4.20を使用しています。これはJONサーバーのバックエンドであり、ユーザ名rhqadminでログインし、データベースrhqに接続しています。ユーザからの公開スキーマでの取り消しはPostgreSQLで機能していません

接続後デフォルトで公開スキーマにリダイレクトされます。 このユーザーrhqadminはパブリックスキーマで表を作成することはできません。

を 『パブリック「何の権限が取り消さできなかった』 -

Revoke Create ON SCHEMA public FROM rhqadmin; 

そして、それは警告を私に与えている - :だから私は、次のコマンドを使用して、パブリックスキーマの特権を作成を取り消すい

私はスーパーユーザーpostgresでログインし、そこからユーザの公開スキーマの「CREATE」権限を取り消しますその後、警告を出さずに正常に取り消された後、ユーザーrhqadminと一緒にログインし、パブリック・スキーマで表を作成しようとしましたが、スーパーユーザーからcreate権限を取り消した後でも表を作成できます。

パブリックスキーマで取り消し権限が機能していない、または間違いをしている理由を教えてください。あなたの問題はCREATE権限がrhqadminに、しかし誰もがデフォルトで所属する特別な役割PUBLICに付与されていないということです

よろしく、
のAvinash

答えて

2

PostgreSQLの特権は追加的なものなので、誰にでも許可されている場合は、明示的に単一のユーザのみに何かを禁止する方法はありません。

ソリューションは、おそらくです:

REVOKE CREATE ON SCHEMA public FROM PUBLIC; 
+0

いや、今のところ、私はこれ以上の解決策を試してみましたが、それはまた、パブリックスキーマのために働いていません。私はパブリックスキーマでテーブルを作成できないようにすべきです。それでも私はテーブルを作成することができます。 – Avi

+0

'psql'に' \ dn + public'を実行し、その結果を質問に追加すると、何が起きているのか把握することができます。あなたのユーザーにどのような役割(グループ)が付与されていますか? –

+0

ありがとうLaurenz(遅く返事を申し訳ありません)が、今働いています。私がpostgresユーザでpostgres dbの中でこのRevokeコマンドを実行している間違いをしていたのを見てください。 rhq dbに接続しているrhqadminユーザーを取り消したい場合、私はrhq dbでpostgresユーザーとして接続し、コマンドとその作業を行いました。 :-) – Avi

関連する問題