Jason Tishler wrote:
> Frank,
>
> On Wed, Apr 30, 2003 at 12:55:40PM -0400, Frank Seesink wrote:
>
>>And no matter what, the following test was always the same when run
>>from the 'postgres' user account:
>>______________________________________________________________________
>>$ ipctest s
>>Test v0.03
>>Unable to create semaphore
>>semget : Function not implemented
>>______________________________________________________________________
>
>
> The above is the crux of your problem. Until you get the above to work,
> PostgreSQL is sure to fail. Sorry, but my only suggestion will require
> some effort. I recommend building a (debug-able) version of cygipc with
> tracing enabled. You may be able to determine what the problem is from
> the trace output. Otherwise, there is always gdb...
Actually, 2nd comment: I disagree with your analysis. As
mentioned in my original post, initdb works JUST FINE when run as the
administrative account that Cygwin was installed from.
Files/directories are created, and there are no errors. Though I
haven't done so yet, I'll bet that if I run postgres.exe using the
permissions of this administrator level account, the database will run
fine. [Once I have a chance to confirm this, I will update here.]
This, to me, indicates a permissions issue, NOT a coding issue.
...unless you are implying, without stating so, that CygIPC is
permissions-aware and goofing up with the new 'ntsec' default setting
somehow (though I can't for the life of me figure out how). But unless
I am mistaken, permissions are not handled within an application but by
the underlying OS (or in this case, Cygwin itself). If I build a basic
app under Unix and run it from a basic users account, I can't somehow
give myself root privileges (that would just be plain stupid). But I
can control who can read/execute the programs I compile in my account,
allowing others in my group or all to have access. This places
permissions management squarely down at the filesystem driver and OS levels.
I still maintain, as I wrote originally, that SOMETHING has changed
in the file permissions in the standard Cygwin distribution which is
causing PostgreSQL to break now where it did not before. As postings
indicate, this 'ntsec' feature used to be disabled by default, but is
now enabled by default. I find the coincidence a bit too much to swallow.
The problem, as I mentioned, is that I do not know WHERE this
permission issue lies: what folder/file needs adjusting, etc. But my
gut tells me that adjusting chmod settings somewhere in the Cygwin tree
may well resolve this issue. If anyone knows where to look, I am all ears.