Michael Govorun <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match