PG_LAST_COPY_ID - Amazon Redshift

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

PG_LAST_COPY_ID

傳回目前工作階段中最近完成之 COPY 命令的查詢 ID。如果目前工作階段中未運行任何 COPY 命令,PG_LAST_COPY_ID 會傳回 -1。

當 COPY 命令啟動載入程序時,PG_LAST_COPY_ID 的值會更新。如果 COPY 因為載入資料無效而失敗,COPY ID 會更新,因此您可以在查詢 STL_LOAD_ERRORS 資料表時使用 PG_LAST_COPY_ID。如果 COPY 交易還原,COPY ID 不會更新。

如果 COPY 命令因為載入程序開始之前發生的錯誤而失敗,例如語法錯誤、存取錯誤、登入資料無效或權限不足,COPY ID 不會更新。如果 COPY 在分析壓縮步驟 (成功連線之後開始,但在資料載入之前) 期間失敗,COPY ID 不會更新。當 COMPUPDATE 參數設為 ON 時,或當目標資料表是空的,且所有欄都是 RAW 編碼或沒有編碼時,COPY 會執行壓縮分析。

Syntax (語法)

pg_last_copy_id()

傳回類型

傳回整數。

範例

下列查詢傳回目前工作階段中最後一個 COPY 命令的查詢 ID。

select pg_last_copy_id(); pg_last_copy_id --------------- 5437 (1 row)

下列查詢會將 STL_LOAD_ERRORS 聯結至 STL_LOADERROR_DETAIL,以檢視目前工作階段中最近載入期間發生之錯誤的詳細資訊:

select d.query, substring(d.filename,14,20), d.line_number as line, substring(d.value,1,16) as value, substring(le.err_reason,1,48) as err_reason from stl_loaderror_detail d, stl_load_errors le where d.query = le.query and d.query = pg_last_copy_id(); query | substring | line | value | err_reason -------+-------------------+------+----------+---------------------------- 558| allusers_pipe.txt | 251 | 251 | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | ZRU29FGR | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Kaitlin | String contains invalid or unsupported UTF8 code 558| allusers_pipe.txt | 251 | Walter | String contains invalid or unsupported UTF8 code