SQL 構文リファレンス : SET OWNER
 
このページをシェアする                  
SET OWNER
SET OWNER ステートメントを使用すると、現在のデータベース接続中に使用するオーナー ネームを 1 つまたは複数指定できます。オーナー ネームは MicroKernel エンジンからのみ割り当てられ、リレーショナル エンジンからは割り当てられません。オーナー ネームとシステム ユーザー名あるいはデータベース ユーザー名との間に関連はないので、注意してください。オーナー ネームは単純なファイル パスワードで、割り当てた場合、データ ファイルをアクセスするのに必要になります。
構文
SET OWNER = [']オーナー ネーム['] [, [']オーナー ネーム[']]...
備考
SET OWNER ステートメントを使用すると、MicroKernel エンジンを介してオーナー ネームが割り当てられているデータ ファイルのオーナー ネームのリストを指定できます。PSQL はリレーショナル エンジンにオーナー ネームを渡して、そのリレーショナル エンジンがデータ ファイルを開けるようにします。
SET OWNER ステートメントではオーナー ネームをいくつでも指定できます。オーナー ネームがアルファベット以外の文字で始まる場合は、名前を一重引用符(' ')で囲む必要があります。
ステートメントは現在の接続でのみ有効です。SET OWNER コマンドの発行後に現在のユーザーがログアウトする場合、そのユーザーは、次回ログインする際にコマンドを再発行する必要があります。
同一の接続中に発行された各 SET OWNER ステートメントは、オーナー リストをリセットします。つまり、直近の SET OWNER ステートメントで指定されたオーナー ネームのみがデータベース エンジンに渡されます。後続のステートメントでオーナー リストにオーナー ネームを追加することはできません。
セキュリティが無効になっているデータベースでは、SET OWNER コマンドによって、コマンドのリストで指定した名前と同じオーナー ネームを持つすべてのデータ ファイルへのフル アクセスが許可されるようになります。
セキュリティが有効になっているデータベースでは、このコマンドはほとんどのユーザーで何の影響もありません。Master ユーザーによって発行された場合にのみ影響があります。Master ユーザーが自身にまだ権限を付与していない場合は、このコマンドの発行によって、指定したオーナー ネームのいずれかを持つデータ ファイルすべてへのフル アクセスが Master ユーザーに与えられます。また、自身に権限を付与する場合、Master ユーザーには 2 つのオプションがあります。Master ユーザーは、SET OWNER に続けて GRANT を発行する場合は、オーナー ネームなしで発行できます。そうでない場合は、オーナー ネームを指定して GRANT を発行できます。を参照してください。
次の例では、1 つのオーナー ネームを指定しています。
SET OWNER = '12jerry'
============ 
次の例では、複数のオーナー ネームを指定しています。
SET OWNER = jimbo, terry, maximus
 
SET OWNER = 'svrkl77x#region5data', jimbo, terry, maximus
============ 
次の例では、同一の接続内における複数の SET OWNER ステートメントの影響を示します。
SET OWNER = jimbo, terry, maximus
--オーナー リストの内容:jimbo,terry,maximus。
SET OWNER = fred, jennie, lucinda
--現在のオーナー リストの内容:fred,jennie,lucinda。以前の内容は破棄されます。
============ 
次の例は、Master ユーザーがセキュリティで保護されたデータベースで SET OWNER を使用する方法を示します。セキュリティを有効にしたばかりで、データベースの権限は何も付与されていないと仮定します。inventory データ ファイルはオーナー ネーム admin を持ちます。
自身に権限を付与する場合、Master ユーザーには 2 つのオプションがあります。Master ユーザーは、SET OWNER に続けて GRANT を発行する場合は、オーナー ネームなしで発行できます。そうでない場合は、オーナー ネームを指定して GRANT を発行できます。どちらの方法も同じ結果になります。
SET OWNER = admin
GRANT ALL ON inventory TO MASTER
または
GRANT ALL ON inventory admin TO MASTER
関連項目
GRANT
REVOKE