From: | emilio alvarez <dr7tbien(at)terra(dot)es> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: php - Error de conexion a postgres con pg_connect |
Date: | 2005-08-02 09:42:19 |
Message-ID: | 200508021142.19822.dr7tbien@terra.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
SOLUCIONADO: Gracias a todos por vuestras respuestas que me han servido de
mucho, a Martin marques, a Anji, a Luis rodrigo y aquellos que me han escrito
de manera privada.
Para los usuarios de SuSE 9.3 decirles que para he tenido que hacer lo
siguiente:
Por un lado comprobar si el proceso postmaster estaba arrancado con la opcion
-i. Para ello se ejecuta el comando siguiente:
ps waux | grep postmaster
Deberia de aparecer una linea parecida a la siguiente:
/usr/bin/postmaster -D /var/lib/pgsql/data -i
Si no aparece la opcion -i hemos de ir al fichero /etc/sysconfig/postgresql y
en donde pone POSTGRES_OPTIONS="" sustituirlo por POSTGRES_OPTIONS="-i"
A continuacion elecutar los comandos:
su (para entrar de root)
cd /etc/init.d
postgres restart
Luego intentaremos ejecutar el script php de conexion a la base de datos, si
persiste el problema seguimos arreglando:
Ejecutamos el comando tail -20 /var/log/postgresql
Si nos encontramos una linea similar a...
could not connect to Ident server at address "::1", port 113: Connection
refused
Significa que postgres se intenta conectar mediante un programa llamado ident
que la verdad no acabo de ver nada claro como funciona, pero que a mi no me
funciona en modo alguno, por lo tanto hemos de elegir la opcion trust (una
opcion similar a "vale todo"). Para ello nos logeamos como el usuario
postgres y editamos el archivo /var/lib/pgsql/pg_hba.conf (hba es el
acronimode host based authentification) y veremos unas lineas similares a
estas (las almohadillas '#' son comentarios):
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 ident sameuser
# IPv6 local connections:
host all all ::1/128 ident sameuser
sustituimos las palabras ident sameuser por trust y rearrancamos postgres con
los comandos:
su (para entrar de root)
cd /etc/init.d
postgres restart
Es muy facil que pg_connect() ya funcione. si aun asi no funciona, creo que
deberemos de comprobar si la cadena de conexion pasada a pg_connect es
correcta....
Se que muchos e los que leeis esto lo teneis ya muy claro, esto lo escribo
para los que andan perdidos como yo. Saludos dr7tbien
From | Date | Subject | |
---|---|---|---|
Next Message | Damián Culotta | 2005-08-02 11:49:50 | Re: PostgreSQL + PHP |
Previous Message | Enrique J. Ros Gadea | 2005-08-02 03:56:12 | Campos de una tabla |