Обсуждение: Yet Another Socket .s.PGSQL.5432 Problem

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

Yet Another Socket .s.PGSQL.5432 Problem

От
"Hilton Perantunes"
Дата:
Hi folks!

That's another "sob sob.. I can't connect to socket blah blah .. .s.PGSQL.5432" asking for help. But this is somewhat bizarre, and i'm not used to the 8.2's postgresql.conf file.

I'm running a PostgreSQL 8.4.2 powered by Debian Sarge (very)Unstable. My PHP application successfully connects to the appropriated database. Even PgAdmin3 connects to the database. But my 'postgres' user cannot connect to the database via command line:

----------
psql: could not connect to server:
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
----------

Well, the socket file actually IS there (zero bytes of size) and it's given the correct permissions. Now, I have this in my pg_hba.conf (replace XXX by my network, and I just added the second line recently, in despair):

----------
# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         XXX.XXX.XXX.1 /24       trust
host    all         postgres    127.0.0.1/32          trust
# IPv6 local connections:
host    all         all         ::1/128               trust
----------

Finally, that's the hot section in my postgresql.conf:

----------
listen_addresses = '*'                  # what IP address(es) to listen on; 
port = 5432                             # (change requires restart)
----------

So, I just can't connect in the database through command line. Someone can waste some time helping me?

Thanks in advance =)

--
Hilton William Ganzo Perantunes
Sistemas de Informação - Universidade Federal de Santa Catarina
--
Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-

Re: unsubcribe

От
samngan@telus.net
Дата:
[ADMIN] unsubcribe





Re: Yet Another Socket .s.PGSQL.5432 Problem

От
Julio Cesar Sánchez González
Дата:
El mié, 15-08-2007 a las 17:13 -0300, Hilton Perantunes escribió:
> Hi folks!
>
> That's another "sob sob.. I can't connect to socket blah
> blah .. .s.PGSQL.5432" asking for help. But this is somewhat bizarre,
> and i'm not used to the 8.2's postgresql.conf file.
>
> I'm running a PostgreSQL 8.4.2 powered by Debian Sarge (very)Unstable.
> My PHP application successfully connects to the appropriated database.
> Even PgAdmin3 connects to the database. But my 'postgres' user cannot
> connect to the database via command line:
>
> ----------
> psql: could not connect to server:
>         Is the server running locally and accepting
>         connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
> ----------
>
> Well, the socket file actually IS there (zero bytes of size) and it's
> given the correct permissions. Now, I have this in my pg_hba.conf
> (replace XXX by my network, and I just added the second line recently,
> in despair):
>

Try stoping the postgresql process and delete the socket unix file,
restart the postgresql daemon and we to mean.

> ----------
> # "local" is for Unix domain socket connections only
> local   all         all                               trust
> # IPv4 local connections:
> host    all         all         XXX.XXX.XXX.1 /24       trust
> host    all         postgres    127.0.0.1/32          trust
> # IPv6 local connections:
> host    all         all         ::1/128               trust
> ----------
>
> Finally, that's the hot section in my postgresql.conf:
>
> ----------
> listen_addresses = '*'                  # what IP address(es) to
> listen on;
> port = 5432                             # (change requires restart)
> ----------
>
> So, I just can't connect in the database through command line. Someone
> can waste some time helping me?
>
> Thanks in advance =)
>
> --
> Hilton William Ganzo Perantunes
> Sistemas de Informação - Universidade Federal de Santa Catarina
> --
> Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-



--
Regards,

Julio Cesar Sánchez González
www.sistemasyconectividad.com.mx
blog: http://darkavngr.blogspot.com

---
Ahora me he convertido en la muerte, destructora de mundos.
Soy la Muerte que se lleva todo, la fuente de las cosas que vendran.


Re: Yet Another Socket .s.PGSQL.5432 Problem

От
"Hilton Perantunes"
Дата:
Thanks for answering, Julio.

When I stop the database, the socket file is automatically removed. That's the way it happened before... but now, oddly enough, I restarted the database at will several times, my app is still running, pgadmin too... and no socket file is created. o.0

(and I still can't connect via bash)

Hilton



On 8/15/07, Julio Cesar Sánchez González < knowhow@sistemasyconectividad.com.mx> wrote:
El mié, 15-08-2007 a las 17:13 -0300, Hilton Perantunes escribió:
> Hi folks!
>
> That's another "sob sob.. I can't connect to socket blah
> blah .. .s.PGSQL.5432" asking for help. But this is somewhat bizarre,
> and i'm not used to the 8.2's postgresql.conf file.
>
> I'm running a PostgreSQL 8.4.2 powered by Debian Sarge (very)Unstable.
> My PHP application successfully connects to the appropriated database.
> Even PgAdmin3 connects to the database. But my 'postgres' user cannot
> connect to the database via command line:
>
> ----------
> psql: could not connect to server:
>         Is the server running locally and accepting
>         connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?
> ----------
>
> Well, the socket file actually IS there (zero bytes of size) and it's
> given the correct permissions. Now, I have this in my pg_hba.conf
> (replace XXX by my network, and I just added the second line recently,
> in despair):
>

Try stoping the postgresql process and delete the socket unix file,
restart the postgresql daemon and we to mean.

> ----------
> # "local" is for Unix domain socket connections only
> local   all         all                               trust
> # IPv4 local connections:
> host    all         all         XXX.XXX.XXX.1 /24       trust
> host    all         postgres    127.0.0.1/32          trust
> # IPv6 local connections:
> host    all         all         ::1/128               trust
> ----------
>
> Finally, that's the hot section in my postgresql.conf:
>
> ----------
> listen_addresses = '*'                  # what IP address(es) to
> listen on;
> port = 5432                             # (change requires restart)
> ----------
>
> So, I just can't connect in the database through command line. Someone
> can waste some time helping me?
>
> Thanks in advance =)
>
> --
> Hilton William Ganzo Perantunes
> Sistemas de Informação - Universidade Federal de Santa Catarina
> --
> Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-



--
Regards,

Julio Cesar Sánchez González
www.sistemasyconectividad.com.mx
blog: http://darkavngr.blogspot.com

---
Ahora me he convertido en la muerte, destructora de mundos.
Soy la Muerte que se lleva todo, la fuente de las cosas que vendran.




--
Hilton William Ganzo Perantunes
Sistemas de Informação - Universidade Federal de Santa Catarina
--
Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
Tom Lane
Дата:
"Hilton Perantunes" <hperantunes@gmail.com> writes:
> When I stop the database, the socket file is automatically removed. That's
> the way it happened before... but now, oddly enough, I restarted the
> database at will several times, my app is still running, pgadmin too... and
> no socket file is created. o.0

Are you sure that's where the database thinks the socket file should be?
/var/run/postgresql is *not* the factory default for this; /tmp is.
If you replaced a distro build with your own or vice versa you may be
confused by that.

Wrong permissions on the directory or its parents could be the
problem, too.

> psql: could not connect to server:
> Is the server running locally and accepting
> connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?

This clip omits the most important part of the message: there should be
a kernel error code after the colon.

            regards, tom lane

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
"Hilton Perantunes"
Дата:
Tom, really... the socket lies in /tmp/. The socket file has 0777 postgres:postgres. /tmp/ has 0777 root:root.

The socket file is removed when I stop the database.




On 8/15/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"Hilton Perantunes" <hperantunes@gmail.com> writes:
> When I stop the database, the socket file is automatically removed. That's
> the way it happened before... but now, oddly enough, I restarted the
> database at will several times, my app is still running, pgadmin too... and
> no socket file is created. o.0

Are you sure that's where the database thinks the socket file should be?
/var/run/postgresql is *not* the factory default for this; /tmp is.
If you replaced a distro build with your own or vice versa you may be
confused by that.

Wrong permissions on the directory or its parents could be the
problem, too.

> psql: could not connect to server:
> Is the server running locally and accepting
> connections on Unix domain socket
> "/var/run/postgresql/.s.PGSQL.5432"?

This clip omits the most important part of the message: there should be
a kernel error code after the colon.

                        regards, tom lane



--
Hilton William Ganzo Perantunes
Sistemas de Informação - Universidade Federal de Santa Catarina
--
Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
Alvaro Herrera
Дата:
Hilton Perantunes escribió:
> Tom, really... the socket lies in /tmp/. The socket file has 0777
> postgres:postgres. /tmp/ has 0777 root:root.

psql is complaining about /var/run/postgresql (the Debian packaging of
libpq does that).  Try setting PGHOST to /tmp, like in

PGHOST=/tmp psql


--
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"The eagle never lost so much time, as
when he submitted to learn of the crow." (William Blake)

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
"Hilton Perantunes"
Дата:
Alvaro, it works like a charm =). Thank you all.

Bad, bad Debian.. no cookies for you (and I'll read the error messages more carefully next time)!

Abraços..

Hilton Perantunes



On 8/16/07, Alvaro Herrera <alvherre@commandprompt.com> wrote:
Hilton Perantunes escribió:
> Tom, really... the socket lies in /tmp/. The socket file has 0777
> postgres:postgres. /tmp/ has 0777 root:root.

psql is complaining about /var/run/postgresql (the Debian packaging of
libpq does that).  Try setting PGHOST to /tmp, like in

PGHOST=/tmp psql


--
Alvaro Herrera                          Developer, http://www.PostgreSQL.org/
"The eagle never lost so much time, as
when he submitted to learn of the crow." (William Blake)



--
Hilton William Ganzo Perantunes
Sistemas de Informação - Universidade Federal de Santa Catarina
--
Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
Peter Eisentraut
Дата:
Am Donnerstag, 16. August 2007 23:41 schrieb Hilton Perantunes:
> Alvaro, it works like a charm =). Thank you all.
>
> Bad, bad Debian.. no cookies for you (and I'll read the error messages more
> carefully next time)!

The problem is quite likely some variant on the following:  You had your
distribution-supplied PostgreSQL packages installed, which
use /var/run/postgresql as the socket location.  Then you built your own
pieces of PostgreSQL, which use /tmp.  When you call just "psql"
or "pgadmin3", they will use the system-supplied libpq, which uses the
system-specific socket location, since they don't know about your
hand-crafted installation.  If you had called the psql binary from your own
installation with an explicit path (and your used the rpath feature during
compilation), then this would have worked.  Or you could have used the
environment variable LD_LIBRARY_PATH to point to the libpq of your choice.
There are a few ways to get this wrong.  On Debian the socket location is
usually the first indicator, but you ought to be careful in general if you
mix installations like that.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
"Hilton Perantunes"
Дата:
Exactly what happened, Peter. Something was preventing me of successfully install 8.2.4 through apt-get, so I did it by hand.

I'll read the documentation about LD_LIBRARY_PATH.

Thank you.

Hilton Perantunes


On 8/17/07, Peter Eisentraut <peter_e@gmx.net> wrote:
Am Donnerstag, 16. August 2007 23:41 schrieb Hilton Perantunes:
> Alvaro, it works like a charm =). Thank you all.
>
> Bad, bad Debian.. no cookies for you (and I'll read the error messages more
> carefully next time)!

The problem is quite likely some variant on the following:  You had your
distribution-supplied PostgreSQL packages installed, which
use /var/run/postgresql as the socket location.  Then you built your own
pieces of PostgreSQL, which use /tmp.  When you call just "psql"
or "pgadmin3", they will use the system-supplied libpq, which uses the
system-specific socket location, since they don't know about your
hand-crafted installation.  If you had called the psql binary from your own
installation with an explicit path (and your used the rpath feature during
compilation), then this would have worked.  Or you could have used the
environment variable LD_LIBRARY_PATH to point to the libpq of your choice.
There are a few ways to get this wrong.  On Debian the socket location is
usually the first indicator, but you ought to be careful in general if you
mix installations like that.

--
Peter Eisentraut
http://developer.postgresql.org/~petere/



--
Hilton William Ganzo Perantunes
Sistemas de Informação - Universidade Federal de Santa Catarina
--
Dinheiro não traz felicidade, mas dá uma sensação tão parecida...  -_-

Re: Yet Another Socket .s.PGSQL.5432 Problem

От
Dimitri Fontaine
Дата:
Le vendredi 17 août 2007, Hilton Perantunes a écrit :
> Exactly what happened, Peter. Something was preventing me of successfully
> install 8.2.4 through apt-get, so I did it by hand.

Maybe you're using debian stable, in which case you'd have to use some
backport of PostgreSQL to get 8.2.4. Or simply roll your own as described
here:
  http://archives.postgresql.org/pgsql-general/2007-05/msg00427.php

Hope this helps,
--
dim

Вложения