Обсуждение: permission denied on socket

Поиск
Список
Период
Сортировка

permission denied on socket

От
Atul Kumar
Дата:
Hi,

I have postgres 13 running on centos 7.

I am facing an issue while trying to connect the cluster using the below command.

-bash-4.2$ psql postgres

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: Permission denied

        Is the server running locally and accepting connections on that socket?


but when I am trying to connect using the below command I am able to login to the cluster successfully.

-bash-4.2$ psql postgres -h localhost

postgres=#


I am not sure what is causing this issue and what needs to be done to resolve it ?


Regards.



Re: permission denied on socket

От
Adrian Klaver
Дата:
On 1/25/24 12:22, Atul Kumar wrote:
> Hi,
> 
> I have postgres 13 running on centos 7.
> 
> I am facing an issue while trying to connect the cluster using the below 
> command.
> 
> -bash-4.2$ psql postgres
> 
> psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: 
> Permission denied

With the Postgres server running does:

/tmp/.s.PGSQL.5432

exist?

> 
> Is the server running locally and accepting connections on that socket?
> 
> 
> but when I am trying to connect using the below command I am able to 
> login to the cluster successfully.
> 
> -bash-4.2$ psql postgres -h localhost
> 
> postgres=#

The above works because you are not connecting to local(the socket), but 
to localhost(127.0.0.1 or ::1).

> 
> 
> I am not sure what is causing this issue and what needs to be done to 
> resolve it ?

Best guess is you are using a version of psql that is expecting the 
socket to be somewhere else then where it actually is.

> 
> 
> Regards.
> 
> 
> 

-- 
Adrian Klaver
adrian.klaver@aklaver.com




Re: permission denied on socket

От
Ron Johnson
Дата:
On Thu, Jan 25, 2024 at 3:23 PM Atul Kumar <akumar14871@gmail.com> wrote:
Hi,

I have postgres 13 running on centos 7.

I am facing an issue while trying to connect the cluster using the below command.

-bash-4.2$ psql postgres

psql: error: connection to server on socket "/tmp/.s.PGSQL.5432" failed: Permission denied

        Is the server running locally and accepting connections on that socket?


but when I am trying to connect using the below command I am able to login to the cluster successfully.

-bash-4.2$ psql postgres -h localhost

postgres=#


I am not sure what is causing this issue and what needs to be done to resolve it ?

 
psql explicitly tells you the problem:
    socket "/tmp/.s.PGSQL.5432" failed: Permission denied
Did you look at the permissions on /tmp/.s.PGSQL.5432?

Re: permission denied on socket

От
Ron Johnson
Дата:
On Thu, Jan 25, 2024 at 3:32 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
[snip]
Best guess is you are using a version of psql that is expecting the
socket to be somewhere else then where it actually is.

Is "permission denied" really the error you get when the socket does not exist?

Trying "psql --host=/var/run/foo" gave me "No such file or directory".

Re: permission denied on socket

От
Adrian Klaver
Дата:


On 1/25/24 12:39 PM, Ron Johnson wrote:
On Thu, Jan 25, 2024 at 3:32 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
[snip]
Best guess is you are using a version of psql that is expecting the
socket to be somewhere else then where it actually is.

Is "permission denied" really the error you get when the socket does not exist?

Trying "psql --host=/var/run/foo" gave me "No such file or directory".


The OP used:

psql postgres

In that case psql will use the default set when it is compiled against libpq which from here:

https://www.postgresql.org/docs/16/libpq-connect.html#LIBPQ-PARAMKEYWORDS

"... is to connect to a Unix-domain socket in /tmp (or whatever socket directory was specified when PostgreSQL was built)"


If you have more then one instance of psql on a machine and they where built with different defaults you can 

end up not hitting the right socket.

Also "permission denied" could be due to any part of the path /tmp/.s.PGSQL.5432.


Re: permission denied on socket

От
Tom Lane
Дата:
Ron Johnson <ronljohnsonjr@gmail.com> writes:
> On Thu, Jan 25, 2024 at 3:32 PM Adrian Klaver <adrian.klaver@aklaver.com>
> wrote:
>> Best guess is you are using a version of psql that is expecting the
>> socket to be somewhere else then where it actually is.

> Is "permission denied" really the error you get when the socket does not
> exist?

Nope, that should mean either that /tmp is not readable, or that the
socket file is there but has restrictive permissions.

That doesn't necessarily make Adrian's answer wrong though.

            regards, tom lane



Re: permission denied on socket

От
Atul Kumar
Дата:
I checked the permissions on /tmp directory and it shows "drwxrwxrwt." already, do I need to check something else as well ?

Regards.

On Fri, Jan 26, 2024 at 3:00 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Ron Johnson <ronljohnsonjr@gmail.com> writes:
> On Thu, Jan 25, 2024 at 3:32 PM Adrian Klaver <adrian.klaver@aklaver.com>
> wrote:
>> Best guess is you are using a version of psql that is expecting the
>> socket to be somewhere else then where it actually is.

> Is "permission denied" really the error you get when the socket does not
> exist?

Nope, that should mean either that /tmp is not readable, or that the
socket file is there but has restrictive permissions.

That doesn't necessarily make Adrian's answer wrong though.

                        regards, tom lane

Re: permission denied on socket

От
Tom Lane
Дата:
Atul Kumar <akumar14871@gmail.com> writes:
> I checked the permissions on /tmp directory and it shows "drwxrwxrwt."
> already, do I need to check something else as well ?

That seems fine, but what about the socket file itself?

            regards, tom lane



Re: permission denied on socket

От
pf@pfortin.com
Дата:
On Fri, 26 Jan 2024 01:52:58 +0530 Atul Kumar wrote:

>        Is the server running locally and accepting connections on that
>socket?

Maybe this will help:

# ss -l | grep 5432