My postgreSQL version is :
PostgreSQL 8.1.4 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.3
20030502 (Red Hat Linux 3.2.3-56)
You are aware that 8.1.x is up to 8.1.18, right, that's 14 or so
updates you're missing. Could one of them have fixed a bug that
causes this? Sure. Look through the changelogs to be sure, but why
not just keep your pgsql version up to date? It's easier.
Or are you running some redhat version that stays the same number
while getting bugs back ported to it or something?
That GCC string suggests this is a RHEL3 system, which would have
shipped with PostgreSQL 7.3. Not sure how they got 8.1 onto there, but
a later 8.1 is certainly a useful first step to take here, before they
get any more corruption from that ancient version when trying to fix
things. Compiling PostgreSQL on RHEL3 from source has some fun
challenges;