Re: Checksum errors in pg_stat_database - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: Checksum errors in pg_stat_database
Date
Msg-id CAOBaU_ZAmGznYPwjkcVPR32M7aL5BsspeCHo__Q5UOYnWLkj7g@mail.gmail.com
Whole thread Raw
In response to Re: Checksum errors in pg_stat_database  (Magnus Hagander <magnus@hagander.net>)
Responses Re: Checksum errors in pg_stat_database
Re: Checksum errors in pg_stat_database
List pgsql-hackers
On Fri, Feb 22, 2019 at 3:01 PM Magnus Hagander <magnus@hagander.net> wrote:
>
> It tracks things that happen in the general backends. Possibly we should also consider counting the errors actually
foundwhen running base backups? OTOH, that part of the code doesn't really track things like databases (as it operates
juston the raw data directory underneath), so that implementation would definitely not be as clean... 

Sorry I just realized that I totally forgot this part of the thread.

While it's true that we operate on raw directory, I see that sendDir()
already setup a isDbDir var, and if this is true lastDir should
contain the oid of the underlying database.  Wouldn't it be enough to
call sendFile() using this, something like (untested):

if (!sizeonly)
- sent = sendFile(pathbuf, pathbuf + basepathlen + 1, &statbuf, true);
+ sent = sendFile(pathbuf, pathbuf + basepathlen + 1, &statbuf, true,
isDbDir ? pg_atoi(lastDir+1, 4) : InvalidOid);

and accordingly report any checksum error from sendFile()?


pgsql-hackers by date:

Previous
From: Paul Ramsey
Date:
Subject: Re: Allowing extensions to supply operator-/function-specific info
Next
From: Alvaro Herrera
Date:
Subject: Re: psql display of foreign keys