Re: Does PostgreSQL check database integrity at startup?

From: Edson Carlos Ericksson Richter <richter(at)simkorp(dot)com(dot)br>
To: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Does PostgreSQL check database integrity at startup?
Date: 2017-12-27 12:31:53
Message-ID: f0fc02ed-6e7a-3a6a-eaa6-a4eea1e2992e@simkorp.com.br
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Em 26/12/2017 20:11, rob stone escreveu:
> Hello,
>
>
> On Tue, 2017-12-26 at 18:58 -0300, Alvaro Herrera wrote:Hello,
>> David Steele wrote:
>>
>>> pgBackRest will validate all page checksums (including indexes,
>>> etc.) in the
>>> cluster during backup. Full backups check everything,
>>> incr/differential
>>> backups check only the files that have changed.
>> If a table or index file is of zero length when backed up, as in the
>> described case, nothing will be checked, right? I mean, there is
>> nothing externally indicating that the file ought to be of a
>> different
>> size. Am I wrong? So Edson's situation here would not raise any red
>> flags.
>>
>
> Could the following occur:-
> 1) Your app. issues a BEGIN followed by an INSERT.
> 2) Postgres decides to open a new file in order to store the new row.
> 3) Your app. then does a ROLLBACK.
>
> Wouldn't that leave you with a zero length file on disk?
>
> There's no reason for Postgres to delete the file just because a
> rollback was issued. All it has to do is clear the buffer in memory.
>
> My 2 cents.
>
> Rob
>
>

You are right, in several databases I've looked there are many files
with 0 byte size in ./base folder.
This is not a good quest.

Regards,

Edson

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Alvaro Herrera 2017-12-27 13:56:20 Re: Deadlock between concurrent index builds on different tables
Previous Message Edson Carlos Ericksson Richter 2017-12-27 12:25:47 Re: Does PostgreSQL check database integrity at startup?