Re: Don't removes/recycles WAL files at all

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Govorun <mike(at)shpion(dot)ru>
Cc: Richard Huxton <dev(at)archonet(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Don't removes/recycles WAL files at all
Date: 2003-07-31 03:40:30
Message-ID: 27361.1059622830@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Michael Govorun <mike(at)shpion(dot)ru> writes:
> I've found answer! Postgresql have been compiled with aggressive
> optimizations:
> gcc version egcs-2.91.66
> CFLAGS='-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro
> -march=pentiumpro -fomit-frame-pointer -fno-exceptions'

> After recompiling server with -O2 WAL recycling properly. But I got
> many errors after installing recompiled server and had to dump
> database with "optimized" postgres and restore with -O2 version.

Yeah, adding or removing -malign-double would change the layout of our
on-disk data structures, so it's no surprise you'd need to dump and
reload for that.

Also, -ffast-math is known to be Evil. I thought we had a check to
prevent that (looks ...) yeah we do; how'd you get by this check in
timestamp.c?

/*
* gcc's -ffast-math switch breaks routines that expect exact results from
* expressions like timeval / 3600, where timeval is double.
*/
#ifdef __FAST_MATH__
#error -ffast-math is known to break this code
#endif

As for the other stuff, it theoretically should work, but isn't
egcs-2.91.66 rather old and buggy? Perhaps a newer gcc would work
better.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2003-07-31 03:56:07 Re: hexadecimal to decimal
Previous Message Tom Lane 2003-07-31 03:27:21 Re: Don't removes/recycles WAL files at all