canceling statement due to conflict with recovery after pg_basebackup - Mailing list pgsql-general

From Andrus
Subject canceling statement due to conflict with recovery after pg_basebackup
Date
Msg-id 6B27EF9A9A8F4CD1BB9ECAA950BE3AF4@dell2
Whole thread Raw
Responses Re: canceling statement due to conflict with recovery afterpg_basebackup  (Kyotaro Horiguchi <horikyota.ntt@gmail.com>)
List pgsql-general
Hi!

Async binary replication hot standby was started after pg_basebackup.
Running query in slave throws error 

ERROR:  canceling statement due to conflict with recovery

Why ?
Query should return table and other sizes in decreasing order.
How to improve it so that this error does not occur.


Log:

2020-06-03 09:40:52 EEST  LOG:  database system was interrupted; last known up at 2020-06-03 07:59:56 EEST
2020-06-03 09:41:10 EEST  LOG:  entering standby mode
2020-06-03 09:41:10 EEST  LOG:  redo starts at 2E2/28
2020-06-03 09:41:19 EEST  LOG:  consistent recovery state reached at 2E2/B5A56C8
2020-06-03 09:41:19 EEST  LOG:  database system is ready to accept read only connections
2020-06-03 09:41:19 EEST  LOG:  started streaming WAL from primary at 2E2/C000000 on timeline 1
2020-06-03 09:54:23 EEST 85.253.131.166 user@sba ERROR:  canceling statement due to conflict with recovery
2020-06-03 09:54:23 EEST 85.253.131.166 user@sba DETAIL:  User query might have needed to see row versions that must be
removed.
2020-06-03 09:54:23 EEST 85.253.131.166 user@sba STATEMENT:  select
company_name(n.nspname)::char(20) as company,
  relname::char(25),
    pg_size_pretty(pg_total_relation_size(c.oid))::char(10) as totalsize,
n.nspname::char(12),
    case
       when c.relkind='i' then 'index'
        when c.relkind='t' then 'toast'
       when c.relkind='r' then 'table'
       when c.relkind='v' then 'view'
       when c.relkind='c' then 'composite type'
       when c.relkind='S' then 'sequence'
        else c.relkind::text
      end ::char(14) as "type"
from
    pg_class c
    left join pg_namespace n on n.oid = c.relnamespace
    left join pg_tablespace t on t.oid = c.reltablespace
where
    (pg_total_relation_size(c.oid)>>21)>0 and c.relkind!='t'
order by
    pg_total_relation_size(c.oid) desc

Andrus.



pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: LOG: could not send data to client: Broken pipe
Next
From: Oleksandr Shulgin
Date:
Subject: Re: When to use PARTITION BY HASH?