大きな外部ファイルを入力としたデータロードを実行する場合、ロード中に進捗情報を取得することで、処理が継続的に行われていることを確認することができます。進捗情報は、pgx_stat_progress_loaderビューにより取得することができます。本ビューでは、バックエンドプロセスと並列数分のワーカプロセスの進捗情報の合計が表示されます。SELECT文などでpgx_stat_progress_loaderビューを検索し、該当する行を特定します。pgx_loaderコマンドを実行した後に、pg_stat_activityビューを参照し、取得したPIDをキーにpgx_stat_progress_loaderビューの行を特定します。
例
pg_stat_activityビューを参照します。(9311 : バックエンドプロセス、9312,9313,9314 : ワーカプロセス)
postgres=# select pid, application_name, backend_type from pg_stat_activity pid | application_name | backend_type -----+------------------+------------------------------ 6216 | | autovacuum launcher 6218 | | logical replication launcher 6271 | psql | client backend 9311 | pgx_loader | client backend 9312 | | parallel loader for PID 9311 9313 | | parallel loader for PID 9311 9314 | | parallel loader for PID 9311 6214 | | background writer 6213 | | checkpointer 6215 | | walwriter
pgx_stat_progress_loaderビューの情報を確認します。
postgres=# SELECT * FROM pgx_stat_progress_loader pid | datid | datname | relid | command | type | bytes_processed | bytes_total | tuples_processed | tuples_excluded -----+-------+---------+-------+----------+------+-----------------+-------------+------------------+---------------- 9311 | 222 | testdb | 333 |COPY FROM | FILE | 192000 | 450000 | 189000 | 3000
pgx_stat_progress_loaderビューの詳細は、“C.8 pgx_stat_progress_loader”を参照してください。
注意
pgx_loaderコマンドを実行した際に、PostgreSQLのpg_stat_progress_copyビューには、バックエンドプロセスと並列数分のワーカプロセスの進捗情報が各々の行で出力されます。バックエンドプロセスの進捗情報のtuples_processed、tuples_excluded は0が表示されます。また、ワーカプロセスのbytes_processed、bytes_totalは0が表示されます。
postgres=# SELECT * FROM pg_stat_progress_copy pid | datid | datname | relid | command | type | bytes_processed | bytes_total | tuples_processed | tuples_excluded -----+-------+---------+-------+----------+------+-----------------+-------------+------------------+---------------- 9311 | 222 | testdb | 333 |COPY FROM | FILE | 192000 | 450000 | 0 | 0 9312 | 222 | testdb | 333 |COPY FROM | FILE | 0 | 0 | 63000 | 1000 9313 | 222 | testdb | 333 |COPY FROM | FILE | 0 | 0 | 63000 | 1000 9314 | 222 | testdb | 333 |COPY FROM | FILE | 0 | 0 | 63000 | 1000
pg_stat_progress_copyビューの詳細は、“PostgreSQL Documentation”の“pg_stat_progress_copy View”を参照してください。