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 は更新されません。
構文
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