2016-05-12 7 views
3

は、私は、同じデータベース内PostgreSQL 9.3データベースのテーブルの所有者にALLを与える必要がありますか? pgAdminで中にいくつかのテーブルを見ると

ALTER TABLE table_name 
    OWNER TO user_name; 
GRANT ALL ON TABLE table_name TO user_name; 

他のテーブルが二GRANT ALLステートメントを省略次の文でテーブル定義を見ることができる、と私はそれがuser_nameがすでにあることを考えると、重複している疑いがありますOWNERtable_name

この場合、GRANT ALLは冗長で、その場合は定義を削除できます(table_name> [プロパティ]> [特権]タブ)。

おかげ

答えて

-1

すべてのベストは、おそらくが、以下を参照してくださいません。

所有者は、デフォルトで完全な権限を所有しており、独自のテーブルに権限を付与することもできます。これは公開された権利とは無関係です。参照:

chris=> create table footest(id int); 
CREATE TABLE 
chris=> revoke all on footest from public; 
REVOKE 
chris=> insert into footest values (1); 
INSERT 0 1 
chris=> revoke all on footest from chris; 
REVOKE 
chris=> insert into footest values (1); 
ERROR: permission denied for relation footest 
chris=> grant all on footest to chris; 
GRANT 
chris=> 

権限を無効にしていない限り、許可する必要はありません。

-1

1)は、「オブジェクトは、例えばALTER TABLEの、オブジェクトに対する適切な種類のALTERコマンドを使用して新しい所有者に割り当てることができスーパーユーザは常にこのを行うことができます; 彼らは両方の新しい所有のメンバーオブジェクト(または所有する役割のメンバー)現在の所有者であるあれば通常の役割はだけでそれを行うことができますロール。 "

2) "特定の特権の代わりにALLを書き込むと、オブジェクトタイプに関連するすべての特権が付与されます。"

要するに、上記のようにユーザーの種類によって異なります。

することはできGRANT特定権限 EG GRANTのサブセットを使用してなどを選択します。グラントの詳細については、第2のリンクPostgresqlのGRANTで見つけることができます - アクセス権限を定義

文献1 5.6. Postgresql Privileges

文献2 Postgresql GRANT -- define access privileges

関連する問題