メニュー
Amazon Redshift
データベース開発者ガイド (API Version 2012年12月1日)

PG_LAST_COPY_ID()

現在のセッションで最後に実行された COPY コマンドのクエリ ID を返します。現在のセッションで COPY コマンドが実行されていない場合、PG_LAST_COPY_ID は -1 を返します。

PG_LAST_COPY_ID の値は、COPY コマンドがロードプロセスを開始するときに更新されます。ロードデータが無効なために COPY 操作が失敗した場合、COPY ID は更新されます。このため、STL_LOAD_ERRORS テーブルに対するクエリを実行する時に、PG_LAST_COPY_ID を使用できます。COPY トランザクションがロールバックされる場合、COPY ID は更新されません。

構文エラー、アクセスエラー、無効な認証情報、または不十分な権限など、ロードプロセスが開始する前に発生するエラーにより COPY コマンドが失敗すると、COPY ID は更新されません。接続が成功した後、データをロードする前に始まる圧縮を分析するステップの間に、COPY が失敗すると、COPY ID は更新されません。COPY は、COMPUPDATE パラメータが ON の場合、またはターゲットテーブルが空でテーブルのすべての列に RAW エンコードかエンコードが定義されていない場合、圧縮分析を実行します。

構文

Copy
pg_last_copy_id()

戻り型

整数を返します。

次のクエリは、現在のセッションで最後に実行された COPY コマンドのクエリ ID を返します。

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

次のクエリは、STL_LOAD_ERRORS を STL_LOADERROR_DETAIL に結合して、現在のセッションで最後に実行されたロード中に発生したエラーの詳細を表示します。

Copy
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

このページの内容: