本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SVL_ 多語句違規
使用 SVL_MULT_MULT_STATEMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_SUMENT_
當您運行 Amazon Redshift 限制在事務塊或多語句請求內部的任何 SQL 命令時,會發生違規:
刪除外部資料表
重命名外部資料表
更改外部資料表
創建資料表空間
DROP TABLESPACE
重建貓
索引
重新索引資料庫
如果此視圖中有任何條目,則更改相應的應用程序和 SQL 腳本。我們建議您更改應用程序代碼,以便將這些受限 SQL 命令的使用移到事務塊之外。如果您需要進一步的協助,請聯繫AWSSupport。
所有使用者都可看見 SVL_MED_MED_MED_STATED_STATED_STATED 超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱 系統資料表和檢視中資料的可見性。
資料表欄位
資料欄名稱 | 資料類型 | 描述 |
---|---|---|
userid | integer | 導致違規的使用者 ID。 |
database | character(32) | 使用者連線的資料庫名稱。 |
命名 | character(20) | 無法在事務塊或多語句請求內運行的命令的名稱。例如,創建數據庫、刪除數據庫、更改表附加、創建外部表、刪除外部表、重命名外部表、更改外部表、創建庫、刪除庫、REBUILDCAT、INDEXCAT、重新索引數據庫、真空、授予外部資源、羣集、複製、創建表空間和刪除表空間。 |
xid | bigint | 與陳述式關聯的交易 ID。 |
pid | integer | 陳述式的進程 ID。 |
label | character(320) | 用於執行查詢的檔案名稱,或以 SET QUERY_GROUP 命令定義的標籤。如果查詢不是檔案型,或未設定 QUERY_GROUP 參數,則此欄位為空白。 |
starttime | timestamp | 陳述試開始執行的確切時間,精確度為 6 位數的小數秒,例如:2009-06-12 11:29:19.131358 |
endtime | timestamp | 陳述試完成執行的確切時間,精確度為 6 位數的小數秒,例如:2009-06-12 11:29:19.193640 |
sequence | integer | 當單一陳述式包含不只 200 個字元時,會將該陳述式的其他資料列記錄下來。序列 0 是第一列,1 是第二列,以此類推。 |
類型 | varchar(10) | SQL 陳述式的類型:QUERY 、DDL , 或UTILITY 。 |
text | character(200) | SQL 文字,以 200 個字元的方式增量。此欄位可能包含反斜線 (\\ ) 和換行符號 (\n ) 等特殊字元。 |
範例查詢
以下查詢返回具有違規的多個語句。
select * from svl_multi_statement_violations order by starttime asc; userid | database | cmdname | xid | pid | label | starttime | endtime | sequence | type | text ============================================================================================================================== 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | DDL | create table c(b int); 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | create database b; 1 | dev | CREATE DATABASE | 1034 | 5729 |label1 | ********* | ******* | 0 | UTILITY | COMMIT ...