Hackers,
Some of you might already be aware that this combination produces a
fatal startup crash in PostgreSQL:
1. Create an Ext3 or Ext4 partition and mount it with data=journal on a
server with linux kernel 2.6.30 or later.
2. Initdb a PGDATA on that partition
3. Start PostgreSQL with the default config from that PGDATA
This was reported a ways back:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=567113
To explain: calling O_DIRECT on an ext3 or ext4 partition with
data=journalled causes a crash. However, recent Linux kernels now
report support for O_DIRECT when we compile PostgreSQL, so we use it by
default. This results in a "crash by default" situation with new
Linuxes if anyone sets data=journal.
We just encountered this again with another user. With RHEL6 out now,
this seems likely to become a fairly common crash report.
Apparently, testing for O_DIRECT at compile time isn't adequate. Ideas?
-- -- Josh Berkus PostgreSQL Experts Inc.
http://www.pgexperts.com