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
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 |