Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
> Shuwn Yuan Tee wrote:
>
>> We recently experienced crash on out postgres production server.
>> Here's our server environment:
>> - in OpenVZ container
>> ERROR: could not read block 356121 in file "base/33134/33598.2": Bad address
>>
>> LOG: server process (PID 21119) was terminated by signal 7: Bus error
> Unless my math is off, a PostgreSQL disk file should not contain
> more than 131072 blocks (1GB / 8KB), so something is whacky
> there.
Not at all; the block number is the logical block number within the
relation; it determines both the segment to read from (in this case
".2") and the offset into that segment. That all looks fine.
> I am no hardware guy, but I believe that a bus error would
> indicate a hardware problem.
Or a VM problem. Personally I have never seen this except in a VM,
and the cause always turned out to be a VM bug. Be sure you are
up-to-date on bug fixes for the software.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company