permission denied on socket
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.
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
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 deniedIs 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?
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".
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.
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
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:
Show quoted text
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