Re: The function of lock file named ".s.PGSQL..lock" on Linux? - Mailing list pgsql-admin

From Tom Lane
Subject Re: The function of lock file named ".s.PGSQL..lock" on Linux?
Date
Msg-id 16464.1281026474@sss.pgh.pa.us
Whole thread Raw
In response to The function of lock file named ".s.PGSQL..lock" on Linux?  ("xsun" <xu2002261@163.com>)
Responses Re: The function of lock file named ".s.PGSQL..lock" on Linux?  (Greg Smith <greg@2ndquadrant.com>)
List pgsql-admin
"xsun" <xu2002261@163.com> writes:
> When the psql server is started under Linux platform, in /tmp directory
> there is a lock files named ".s.PGSQL.<port>.lock". So I want to know what
> is the function of this lock file?

It prevents multiple postmasters from trying to use the same socket file.

> And does the server work well without
> this lock file?

No.  (Well, it will run, but you have no protection against accidentally
starting another postmaster on the same port number.)

> Additionally, I know that the file ".s.PGSQL.<port>" is used as the unix
> domain socket file. But the file ".s.PGSQL.<port>.lock" makes me still
> pazzled. Could you explain that? Thanks.

We can't portably lock the socket file itself, so we make a separate
ordinary file for locking purposes.

            regards, tom lane

pgsql-admin by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: out of memory error
Next
From: Bob Lunney
Date:
Subject: Re: out of memory error