系統資料表和檢視中資料的可見性 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

系統資料表和檢視中資料的可見性

系統資料表和檢視中資料的可見性分為兩個類別:使用者可查看和超級使用者可查看。

擁有超級使用者權限的使用者才可以查看「超級使用者可查看」類別裡資料表的資料。一般使用者可以查看「使用者可查看」資料表裡的資料。若要讓一般使用者存取「超級使用者可查看」資料表,請在該資料表上將 SELECT 權限授予 GRANT 一般使用者。

依預設,在大部份「使用者可查看」資料表中,一般使用者無法查看另一位使用者產生的列。如果一般使用者獲得無限制的 SYSLOG ACCESS,該使用者就可以查看「使用者可查看」資料表中所有列,包括另一位使用者產生的列。如需詳細資訊,請參閱ALTER USERCREATE USER。所有使用者皆可看到 SVV_TRANSACTIONS 中的所有資料列。

注意

若使用者擁有不受限制的系統資料表存取權限,該使用者就能查看其他使用者產生的資料。例如,STL_QUERY 和 STL_QUERY_TEXT 包含 INSERT、UPDATE 和 DELETE 陳述式的全文,當中可能包含使用者產生的敏感資料。

超級使用者可以查看所有資料表中的所有列。若要讓一般使用者存取「超級使用者可查看」資料表,請在該資料表上將 SELECT 權限授予 GRANT 一般使用者。

篩選系統產生的查詢

查詢相關的系統資料表和檢視,例如 SVL_QUERY_SUMMARY、SVL_QLOG 等等,通常包含大量自動產生的陳述式,Amazon Redshift 會使用這些陳述式來監控資料庫的狀態。超級使用者可以看到這些系統產生的查詢,但這些查詢通常作用不大。從使用 userid 欄的系統資料表或系統檢視選取時,若要把這些查詢篩選掉,請在 WHERE 子句新增 userid > 1 條件。例如:

select * from svl_query_summary where userid > 1