Thank you!!

On Wed, Jan 23, 2019, 2:20 PM Heikki Linnakangas <hlinn...@iki.fi wrote:

> On 23/01/2019 01:03, maayan mordehai wrote:
> > hello,
> >
> > I'm Maayan, I'm in a DBA team that uses postgresql.
> > I saw in the documentation on wals:
> > https://www.postgresql.org/docs/10/wal-intro.html
> > In the tip box that, it's better not to use a  journaling filesystem.
> and I
> > wanted to ask how it works?
> > can't we get corruption that we can't recover from?
> > I mean what if postgres in the middle of a write to a wal and there is a
> > crash, and it didn't finish.
> > I'm assuming it will detect it when we will start postgres and write that
> > it was rolled back, am I right?
>
> Yep, any half-written transactions will be rolled back.
>
> > and how does it work in the data level? if some of the 8k block is
> written
> > but not all of it, and then there is a crash, how postgres deals with it?
>
> The first time a block is modified after a checkpoint, a copy of the
> block is written to the WAL. At crash recovery, the block is restored
> from the WAL. This mechanism is called "full page writes".
>
> The WAL works just like the journal in a journaling filesystem. That's
> why it's not necessary to have journaling at the filesystem level.
>
> - Heikki
>

Reply via email to