STV_LOAD_STATE
実行中の COPY ステートメントの現在の状態についての情報を取得するには、STV_LOAD_STATE テーブルを使用します。
COPY コマンドは、100 万レコードがロードされるたびにこの表を更新します。
STV_LOAD_STATE はすべてのユーザーに表示されます。スーパーユーザーはすべての行を表示できますが、通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。
テーブルの列
列名 | データ型 | 説明 |
---|---|---|
userid | integer | エントリを生成したユーザーの ID。 |
session | integer | ロードを実行している処理のセッション PID。 |
query | integer | クエリ ID。他の各種システムテーブルおよびビューを結合するために使用できます。 |
slice | integer | ノードスライス番号。 |
pid | integer | プロセス ID。セッション内のすべてのクエリは同一プロセスで実行されるため、一連のクエリを同一セッションで実行した場合、この値は一定です。 |
recordtime | timestamp | レコードが記録された時刻。 |
bytes_to_load | bigint | このスライスによってロードされるバイトの総数。ロードされるデータが圧縮されている場合は 0 になります。 |
bytes_loaded | bigint | このスライスによってロードされたバイト数。ロードされるデータが圧縮されている場合、この値は、データを解凍した後のバイト数になります。 |
bytes_to_load_compressed | bigint | このスライスによってロードされる圧縮データのバイトの総数。ロードされるデータが圧縮されていない場合は 0 になります。 |
bytes_loaded_compressed | bigint | このスライスによってロードされた圧縮データのバイト数。ロードされるデータが圧縮されていない場合は 0 になります。 |
lines | integer | このスライスによってロードされた行数。 |
num_files | integer | このスライスによってロードされるファイル数。 |
num_files_complete | integer | このスライスによってロードされたファイル数。 |
current_file | character(256) | このスライスによってロードされているファイルの名前。 |
pct_complete | integer | このスライスによるデータロードで完了している割合 (パーセント)。 |
サンプルクエリ
COPY コマンドの各スライスの進行状況を表示するには、以下のクエリを入力します。この例では、最後の COPY コマンドに関する情報を取得するために、PG_LAST_COPY_ID() 関数が使用されます。
select slice , bytes_loaded, bytes_to_load , pct_complete from stv_load_state where query = pg_last_copy_id(); slice | bytes_loaded | bytes_to_load | pct_complete -------+--------------+---------------+-------------- 2 | 0 | 0 | 0 3 | 12840898 | 39104640 | 32 (2 rows)