database corruption question

Started by Nonameover 19 years ago2 messagesgeneral
Jump to latest
#1Noname
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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: database corruption question

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