Re: pg_stat_progress_copy not working as intended - Mailing list pgsql-sql

From Ian Lawrence Barwick
Subject Re: pg_stat_progress_copy not working as intended
Date
Msg-id CAB8KJ=h76zLiQSsUbP+uUY3tydsB41ULEYXno0vFKeHi5KwLRg@mail.gmail.com
Whole thread Raw
In response to pg_stat_progress_copy not working as intended  (asalias mark <postgres.rocks@gmail.com>)
Responses Re: pg_stat_progress_copy not working as intended
List pgsql-sql
2022年3月2日(水) 2:56 asalias mark <postgres.rocks@gmail.com>:
>
> tutorial: https://paquier.xyz/postgresql-2/postgres-14-monitoring-copy/
> screenshot:  https://prnt.sc/PROhSi8YOfc0
>
>
> postgres=# CREATE TABLE copy_tab (a int, b text);
> CREATE TABLE
>
> postgres=# INSERT INTO copy_tab SELECT generate_series(1, 10) AS a,
>   generate_series(1, 10) ASpostgres-#   'a' ||  generate_series(1, 10) AS b;
> INSERT 0 10
> postgres=# COPY copy_tab TO '/tmp/copy_tab_data.txt';
> COPY 10
> postgres=# SELECT relid::regclass, command, type, bytes_processed, tuples_processed
> postgres-#      FROM pg_stat_progress_copy;
>  relid | command | type | bytes_processed | tuples_processed
> -------+---------+------+-----------------+------------------
> (0 rows)
>
> postgres=# select version();
>                                                              version
>
----------------------------------------------------------------------------------------------------------------------------------
>  PostgreSQL 14.2 (Ubuntu 14.2-1.pgdg20.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-17ubuntu1~20.04)
9.3.0,64-bit 
> (1 row)
>
>
> But I should get:
>
> SELECT relid::regclass, command, type, bytes_processed, tuples_processed
>      FROM pg_stat_progress_copy;
>   relid   | command | type | bytes_processed | tuples_processed
> ----------+---------+------+-----------------+------------------
>  copy_tab | COPY TO | FILE |              52 |               10
> (1 row)
>
>
> Why are things not working as intended?

"pg_stat_progress_copy" contains statistics for a *running* COPY operation. If
no COPY operation is running, it will be empty, which is the case in the example
you show above.

If you want to check the contents of "pg_stat_progress_copy" , you'll need to:
  a) execute a long-running COPY operation
  b) query "pg_stat_progress_copy" from another session while it is running

See also example here:

    https://pgpedia.info/p/pg_stat_progress_copy.html#examples

Regards

Ian Barwick


--
EnterpriseDB: https://www.enterprisedb.com



pgsql-sql by date:

Previous
From: asalias mark
Date:
Subject: pg_stat_progress_copy not working as intended
Next
From: asalias mark
Date:
Subject: Re: pg_stat_progress_copy not working as intended