Habilitar acceso local PostgreSQL 9.0

Habilitar acceso local PostgreSQL 9.0

Saludos, estoy trabajando en un sistema con PostgreSQL y PHP, mi maquina de desarrollo corre con Windows 7, y hasta allí el sistema funciona perfectamente, el problema es que ya lo subí a un servidor en Producción el mismo que tiene Centos 6.0 , Postgresql 9, PHP5 y un servidor Apache,
YA habilité los respectivos permisos de los archivos pg_hba.conf y postgresql.conf, Cree un nuevo usuario de base de datos y le asigne todos los permisos, el problema se da a continuación:

En mi maquina de desarrollo Win7. Puedo conectarme al servidor a través del PGAMIN, o sea, los permisos de los archivos pg_hba.conf y postgresql.conf funcionan aparentemente bien, pero al cargar la aplicación desde un navegador web no se puede conectar a la Base de datos…

Mi maquina tiene la IP 10.0.2.12 y el servidor 10.0.2.150,, puedo conectarme desde la maquina Cliente a través del PGADMIN pero al acceder vía web a esa dirección http://10.0.2.150/apps/nomina me sale que:
Failed to connect to bd_nomina at localhost. Error: Database connection failed
Uso el mismo usuario y clave con el que me conecto a través de PGADMIN.
Alguien de ustedes puede compartirme su experiencia, ya tengo dos días dándole vuelta ha esto. Deshabilite el Firewall del servidor, y hasta lo he formateado 3 veces.. pero sigue el mismo problema,, puedo conectarme desde fuera del servidor,, pero no localmente..
Saludos cordiales

Esta es la configuración de los archivos:

Pg_hba.cong

# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0 0.0.0.0 md5
# IPv6 local connections:
host all all ::1/128 ident
host all all 0.0.0.0 0.0.0.0 md5

postgresql.conf

listen_addresses = '*'
password_encryption = on

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Re: Habilitar acceso local PostgreSQL 9.0

Hola clsolorzano.

Varias cosas:

1. Mi consejo inicial es que quites las líneas:

host all all 0.0.0.0 0.0.0.0 md5

y des acceso únicamente a las IPs que necesites.

2. Supongo que, por lo que comentas, al invocar la URL de nóminas ejecutas un script en PHP. Si es así, una forma de saber un poco más acerca de lo que está pasando utilizando este mismo lenguaje, podría ser:

$conexion = @pg_connect ("host=IP_BD user=USUARIO_BD password=CLAVE_BD dbname=NOMBRE_BD");

$mensajeError = error_get_last();

if (isset ($mensajeError) && !empty ($mensajeError) && !empty ($mensajeError['message'])) {

  preg_match ("/(?:\bpg_connect\b\(\))(.*)/i", $mensajeError['message'], $coincidencias);

  if (isset ($coincidencias) && !empty ($coincidencias) && isset ($coincidencias[1]))
    echo $coincidencias[1];
}

3. Otra opción es irnos al log de PostgreSQL y ver lo que está pasando. Para ello debes buscar en postgresql.conf el valor de log_directory (recuerda que también debes tener activado el log en dicho archivo) y ver realmente qué está ocurriendo.

Un saludo.

Enviar nuevo comentario

  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><h2><pre>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Image CAPTCHA
Enter the characters shown in the image.