David George <david@onyxsoft.com> writes:
> Thanks. Removing sfio from configure.in and reconfiguring/making did
> the job. I didn't try it before because I figured Postgresql may have
> actually been using sfio for something.
No; I'm not sure why it's in configure's search list at all.
It sounds like we might be tripping over a bug in sfio's stdio
emulation. You might want to report this to the sfio people.
> The reason for using it on Solaris is because Solaris can't fopen file
> descriptors above 255. So if you have a process that has more than
> 255 open files in a process any further fopens will fail mysteriously
> (I have forgotten what the error message is, but it is something like
> EPERM or something stupid like that).
As long as the error code is something appropriate (EMFILE one hopes)
then I think we should cope with this situation correctly. If it really
is EPERM then you might find the backend giving weird errors when run
with a file descriptor limit above 256.
regards, tom lane