Thread: permission denied on socket
-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.
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
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 ?
Best guess is you are using a version of psql that is expecting the
socket to be somewhere else then where it actually is.
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.
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
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
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
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