Обсуждение: database corruption question

Поиск
Список
Период
Сортировка

database corruption question

От
maa1666@yahoo.fr
Дата:
In the document "Transaction Processing in PostgreSQL"
( http://www.postgresql.org/files/developer/transactions.pdf )
I read :

"Postgres transactions are only guaranteed atomic if a disk page write
is an atomic action. On most modern hard drives that's true if a page
is a physical sector, but most people run with disk pages configured as
8K or so, which makes it a little more dubious whether a page write is
all-or-nothing."

I have a battery-backed disk controller.
In this case:

- can such partial writes happen ?

- I suppose that a file system never splits a 8K page write request
into smaller chunks, and a 8K page will always be fully written ?

- with a battery-backed disk controller, a database never gets
corrupted ?

- Is there a tool that checks if a database is not corrupted ?

Best regards

Nicolas Riesch


Re: database corruption question

От
Tom Lane
Дата:
maa1666@yahoo.fr writes:
> In the document "Transaction Processing in PostgreSQL"
> ( http://www.postgresql.org/files/developer/transactions.pdf )

That's very, very old information.

> I read :
> "Postgres transactions are only guaranteed atomic if a disk page write
> is an atomic action.

Not true since the addition of full-page images to WAL.  These days the
only thing you really need to worry about is whether your disk drive
lies about write-complete.  A battery backed write cache is probably
safe enough.

            regards, tom lane