Tema:
Hola amigos de ecualug instale un servidor apache2 con php5 y postgresql8.3 en Debian Lenny funciona bien todo menos la conexion con la base de datos siempre me sale un mesaje de error pidiendo mas datos en la conexion, ejemplo:
-----------------------------------------------------------
<?PHP
$conecta = pg_connect("dbname=postgres");
/*pa probar la conexion*/
?>
-----------------------------------------------------------
Me reproduce el siguente error:
-----------------------------------------------------------
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: la autentificación Ident falló para el usuario «www-data» in /var/www/conexion.php on line 2
-----------------------------------------------------------
Me sigue aparecioendo esto aun que le ponga nombre de usuario, o contraseña, etc?
-----------------------------------------------------------
<?PHP
$conecta = pg_connect("user=amoxto dbname=prueba");
f (!$conecta)
{
echo "
Ocurrio un error conectando a la base de datos.
";
exit;
}
?>
-----------------------------------------------------------
Reproduce:
-----------------------------------------------------------
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: la autentificación Ident falló para el usuario «amoxto» in /var/www/conexion.php on line 2
-----------------------------------------------------------
No se que de que se trata el error :( .Espero alguien me pueda dar una mano.
Gracias
Saludos!
amoxto
Comentarios
Roles de Usuario
[quote]
<?PHP
$conecta = pg_connect("user=amoxto dbname=prueba");
f (!$conecta)
{
echo "
Ocurrio un error conectando a la base de datos.
";
exit;
}
?>
[/quote]
amoxto tiene un rol en postgres?. has probado desde tu terminal
amoxto@tumaquina$ psql dbname
[b]question = ? be : !be; [/b]
[b]question = ? be : !be; [/b]
Claro que si
Hola Gracias, su obiamente amoxto es un usuario de postgresql ;) , ejemplo:
amoxto@amoxto:~$ psql -l
Listado de base de datos
Nombre | Dueño | Codificación
-----------+----------+--------------
brazamon | amoxto | UTF8
gforge | postgres | UTF8
Revisa el pg_hba.conf
Revisa el pg_hba.conf del postgres en tu Debian.
Debes tener una línea que haga referencia al host desde el cual te vas a conectar a la BD y un usuario para la misma.
Por lo que veo, parece que el usuario apache2 (www-data) es quien se está conectando a la BD e imagino que éste no tiene permisos en el pg_hba.conf.
En unas pruebas que estaba haciendo utilizaba el mismo usuario del Postgre y su clave y pues como a fin de cuenta quien interactúa con tu BD es el mismo Debian el host debe ser localhost.
$conn = pg_connect("user=postgres password=postgres host=localhost port=5432 dbname=base");
_fR@Nk_
_fR@Nk_
nada
Hola gracias por la sugerencia ya estube revisando, incluso probe algo como lo que pusistes "conn = pg_connect("user=postgres password= host=localhost port=5432 dbname=base");" y nada.
Y reproduce lo mismo:
------------------------------------------------------
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: la autentificación Ident falló para el usuario «postgres» in /var/www/conexion.php on line 2
------------------------------------------------------
Gracias
Configuración Postgresql
Configuración Postgresql, Verifica el archivo pg_hba.conf tenga permisos para ingresar
host all all 127.0.0.1/32 md5
También tienes que cambiar en el archivo postgresql.conf la linea del listen_adresses
listen_addresses = '*'
Y reinicia el servicio de postgresql
Saludos
Marcelo Silva
Igual
Hola :( gracias en el archivo de configuracion postgresql.conf, la linea listen_addresses = 'localhost' estaba conmentada.
El otro archivo de configuracion postgresql pg_hba.conf lo tengo como asi:
# Database administrative login by UNIX sockets
local all postgres ident sameuser
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident sameuser
# IPv4 local connections:
host all all 127.0.0.1/32 md5
#host all all 192.168.25.0 255.255.255.0 md5
# IPv6 local connections:
host all all ::1/128 md5
ya reinicie todo y sigue igual :?
:(
gracias
En el archivo postgresql.conf
En el archivo postgresql.conf quita el localhost y pon el asterisco "*"
Yo lo tenia como localhost y no me funcionaba y lo puse como * para que acepte conexión
Saludos
Marcelo Silva
Si lo probe
Gracias ;) si lo probe asi y sigue saliendo el mismo mensaje hace mucho hice lo mismo pero con debian etch y postgresql8 y no tube problemas no se por que esta version esta "jodida" jeje ;)
Revizar el Log
Revizar el Log de la base de datos para ver que error te da al momento de realizar la conexión a la base de datos
sudo tail -f /var/log/postgresql/postgresql-8.3-main.log
Postealo para ver que mensajes te salen y ver que mas puede ser el error
Puedes también poner en ph_hba.conf la conexión como trust para realizar la prueba de conexión, pero ten en cuenta que con trust podras ingresar con cualquier clave a la base de datos.
Saludos
Marcelo Silva
Gracias
Gracias pana, estoy revisando el log, y sale esto:
2008-07-25 23:56:52 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:52 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:53 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:53 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:54 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:54 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:55 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:55 ECT FATAL: la autentificación password falló para el usuario «postgres»
2008-07-25 23:56:55 ECT LOG: el paquete de inicio está incompleto
2008-07-26 00:02:01 ECT LOG: el paquete de inicio está incompleto
Garcias
Saludos
Páginas