本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
STL_LOAD_COMMITS
傳回資訊以追蹤資料載入或對其進行故障診斷。
此檢視會在每個資料檔案載入至資料庫資料表時記錄其進度。
所有使用者都可看見此視圖。超級使用者可以看見所有資料列;一般使用者只能看見自己的資料。如需詳細資訊,請參閱 系統資料表和檢視中資料的可見性。
資料表欄位
資料欄名稱 | 資料類型 | 描述 |
---|---|---|
userid | integer | 產生項目的使用者之 ID。 |
query | integer | 查詢 ID。查詢欄可用於加入其他系統表格與檢視。 |
分割 | integer | 針對此項目載入的配量。 |
name | character(256) | 系統定義的值。 |
filename | character(256) | 正在追蹤之檔案的名稱。 |
byte_offset | integer | 此資訊僅供內部使用。 |
lines_scanned | integer | 從載入檔案掃描的行數。此數目可能不符合實際載入的資料列數目。例如,根據 COPY 命令中的 MAXERROR 選項,載入可能掃描但容忍一些錯誤記錄。 |
錯誤 | integer | 此資訊僅供內部使用。 |
curtime | timestamp | 上次更新此項目的時間。 |
status | integer | 此資訊僅供內部使用。 |
file_format | character(16) | 載入檔案的格式。可能的值如下:
|
是部分 | integer | 如果為 true (1) 表示在 COPY 操作期間將輸入文件拆分為範圍的值。如果此值為 false (0),則不會拆分輸入文件。 |
起始偏移 | bigint | 如果在 COPY 操作期間拆分輸入文件,則表示拆分的偏移值(以字節為單位)。每個文件拆分都記錄為具有相應的 start_Office 值的單獨記錄。如果文件未被拆分,則此值為 0。 |
範例查詢
下列範例傳回上次 COPY 操作的詳細資訊。
select query, trim(filename) as file, curtime as updated from stl_load_commits where query = pg_last_copy_id(); query | file | updated -------+----------------------------------+---------------------------- 28554 | s3://dw-tickit/category_pipe.txt | 2013-11-01 17:14:52.648486 (1 row)
下列查詢包含 TICKIT 資料庫中全新載入之資料表的項目:
select query, trim(filename), curtime from stl_load_commits where filename like '%tickit%' order by query;
query | btrim | curtime -------+---------------------------+---------------------------- 22475 | tickit/allusers_pipe.txt | 2013-02-08 20:58:23.274186 22478 | tickit/venue_pipe.txt | 2013-02-08 20:58:25.070604 22480 | tickit/category_pipe.txt | 2013-02-08 20:58:27.333472 22482 | tickit/date2008_pipe.txt | 2013-02-08 20:58:28.608305 22485 | tickit/allevents_pipe.txt | 2013-02-08 20:58:29.99489 22487 | tickit/listings_pipe.txt | 2013-02-08 20:58:37.632939 22593 | tickit/allusers_pipe.txt | 2013-02-08 21:04:08.400491 22596 | tickit/venue_pipe.txt | 2013-02-08 21:04:10.056055 22598 | tickit/category_pipe.txt | 2013-02-08 21:04:11.465049 22600 | tickit/date2008_pipe.txt | 2013-02-08 21:04:12.461502 22603 | tickit/allevents_pipe.txt | 2013-02-08 21:04:14.785124 22605 | tickit/listings_pipe.txt | 2013-02-08 21:04:20.170594 (12 rows)
事實上,記錄寫入至此系統視圖的日誌檔案,並不表示已成功遞交載入,作為其包含交易的一部分。若要驗證載入交易,請查詢 STL_UTILITYTEXT 視圖,並尋找與 COPY 交易相對應的 COMMIT 記錄。例如,此查詢會針對 STL_UTILITYTEXT 根據子查詢聯結 STL_LOAD_COMMITS 和 STL_QUERY:
select l.query,rtrim(l.filename),q.xid from stl_load_commits l, stl_query q where l.query=q.query and exists (select xid from stl_utilitytext where xid=q.xid and rtrim("text")='COMMIT'); query | rtrim | xid -------+---------------------------+------- 22600 | tickit/date2008_pipe.txt | 68311 22480 | tickit/category_pipe.txt | 68066 7508 | allusers_pipe.txt | 23365 7552 | category_pipe.txt | 23415 7576 | allevents_pipe.txt | 23429 7516 | venue_pipe.txt | 23390 7604 | listings_pipe.txt | 23445 22596 | tickit/venue_pipe.txt | 68309 22605 | tickit/listings_pipe.txt | 68316 22593 | tickit/allusers_pipe.txt | 68305 22485 | tickit/allevents_pipe.txt | 68071 7561 | allevents_pipe.txt | 23429 7541 | category_pipe.txt | 23415 7558 | date2008_pipe.txt | 23428 22478 | tickit/venue_pipe.txt | 68065 526 | date2008_pipe.txt | 2572 7466 | allusers_pipe.txt | 23365 22482 | tickit/date2008_pipe.txt | 68067 22598 | tickit/category_pipe.txt | 68310 22603 | tickit/allevents_pipe.txt | 68315 22475 | tickit/allusers_pipe.txt | 68061 547 | date2008_pipe.txt | 2572 22487 | tickit/listings_pipe.txt | 68072 7531 | venue_pipe.txt | 23390 7583 | listings_pipe.txt | 23445 (25 rows)
以下示例突出顯示「部分」和「起始偏移」列值。
-- Single large file copy without scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 1 -- Single large uncompressed, delimited file copy with scan range SELECT count(*) FROM stl_load_commits WHERE query = pg_last_copy_id(); 16 -- Scan range offset logging in the file at 64MB boundary. SELECT start_offset FROM stl_load_commits WHERE query = pg_last_copy_id() ORDER BY start_offset; 0 67108864 134217728 201326592 268435456 335544320 402653184 469762048 536870912 603979776 671088640 738197504 805306368 872415232 939524096 1006632960