Re: Does PostgreSQL check database integrity at startup? - Mailing list pgsql-hackers

From Edson Carlos Ericksson Richter
Subject Re: Does PostgreSQL check database integrity at startup?
Date
Msg-id 5fb54d4c-7f11-b4b2-b33f-1d87e8082524@simkorp.com.br
Whole thread Raw
In response to Re: Does PostgreSQL check database integrity at startup?  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: Does PostgreSQL check database integrity at startup?
Re: Does PostgreSQL check database integrity at startup?
List pgsql-hackers
Em 26/12/2017 12:25, Pavel Stehule escreveu:


2017-12-26 14:44 GMT+01:00 Martin Marques <martin.marques@2ndquadrant.com>:
El 26/12/17 a las 09:52, Edson Carlos Ericksson Richter escribió:
> Recently I had a problem with a base file with size 0 in a standby server.
>
> This raised one question: does PostgreSQL (9.6.6) check base integrity
> at startup?
>
> At least if there are 0 byte size files in base dir? Or CRC? Something?

Yes it has CRC check, but only if you initialize the cluster with
--data-checksums, and there's a price to pay in performance.


It has CRC check, but it is used in runtime - when data are necessary

So Postgres usually check nothing on start - few system tables and indexes

Regards

Pavel

--
Martín Marqués                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



Any tips to make database server don't start if corrupt?
If I can change the startup script to make some checks before effectively starting the database, what would be the recommendations?

One that seems obvious to me are empty data files (something like "find -size 0 $PG_DATA/base")...
But I'm sure that more experienced PostgreSQL DBA would have more tests to check before startup.

Thanks,

Edson

pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Add includes to make header files self-contained
Next
From: Peter Geoghegan
Date:
Subject: Re: Does PostgreSQL check database integrity at startup?