2016-12-08 5 views
2

Amazon Redshift documentation for stl_load_errorsは「このテーブルはすべてのユーザーに表示されます」と記載しています。しかし、スーパーユーザー(936行)と非スーパーユーザー(0行)を照会すると、結果が異なります。スーパーユーザー以外のユーザーが0行を返すようにクエリが実行されるのはなぜですか?スーパーユーザー以外のユーザーがRedshiftでstl_load_errorsのデータを参照できないのはなぜですか?

私が実行したクエリは次のとおりです。

スーパー:

$ psql -U masteruser -h XX.XX.XX.XX -p 5439 bi -w -c "select count(*) from stl_load_errors" 
count 
------- 
    936 
(1 row) 

非スーパーユーザ:

$ psql -U emonsen -h XX.XX.XX.XX -p 5439 bi -w -c "select count(*) from stl_load_errors" 
count 
------- 
    0 
(1 row) 

さらに私は赤方偏移は "emonsenは" stl_load_errorsに適切な権限を持っていると考えていることを示すためにHAS_TABLE_PRIVILEGEを使用することができます。

$ psql -U masteruser -h XX.XX.XX.XX -p 5439 bi -w -c "select has_table_privilege('emonsen', 'stl_load_errors', 'select')" 
has_table_privilege 
--------------------- 
t 
(1 row) 

答えて

1

あなたは正しいです!このテーブルはすべてのユーザーに表示されますが、ここでのキャッチはすべてのユーザーのすべての読み込みエラーをMasteruserが見ることができます。

他のユーザーは、独自のエラーログのみを表示できます。あなたのケースでは、 'emonsen'によって生成されたロードエラーのように、 'emonsen'は自分のエラーログだけを見ることができます。特権に間違いがない

+0

"emonsen"にすべてのユーザーに負荷エラーが表示されるようにする方法はありますか? – meva

+0

残念ながらいいえ! masteruserだけがその特権を持っています。 –

関連する問題