La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/PHP/804952-Conexion-a-Postgres-con-PHP.html

Conexion a Postgres con PHP

Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 14/05/2007 22:32:58
Hola amigos tengo el siguiente problema....soy un pkito nueva programando y estoy tratando de hacer una conexion a una BD postgres usando codigo php,pero me un gran error;el codigo q uso es el siguiente:
$conexion=("host=192.168.200.66 port=3128 user=administrador password=postgresql dbname=integracion");//or die('No se pudo conectar: 0' . pg_last_error());
$conecta=pg_connect($conexion);
if (!$conecta)
{
echo "<p>No se pudo conectar a la Base de Datos<p>";
exit; }
:::::::::::::::::::y el error q me da es este::::::::::::::::::::::
Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "192.168.200.66" and accepting TCP/IP connections on port 3128? in C:\Archivos de programa\Apache Group\Apache2\htdocs\srp\conexion.php on line 3
si me pueden ayudar se los agradeceria....
Mi correo es [email protected]...
Gracias
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 15/05/2007 13:11:18
Buenos, primero chequea que el servidor de BD esta levantado. Por el mensjae de error parece que no...

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 15/05/2007 15:16:19
Hola otra vez,pues el servidor si esta levantado,pero por alli consegui q tambien tengo q modificar unas lineas en un archivo q se llama pg_hba.conf, algo asi como esto:
******************************************************************************************
# TYPE DATABASE USER CIDR-ADDRESS METHOD

# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
#host all all ::1/128 md5
******************************************************************************************
Sustituirlo por esto:"host all all 127.0.0.1 255.255.255.255 trust"...o algo asi...la pregunta es:¿cual de las dos lineas donde esta "host" tengo q sustituir la linea de codigo?
Gracias
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 15/05/2007 15:26:25
127.0.0.0 es localhost y no la veras desde otro equipo, a menos que tengas la BD corriendo en el mismo servidor web. Es es el caso ?
Creo que lo de IPvx se refiere a la version de postgress que tienes...

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (1 intervención) el 15/05/2007 15:29:47
La BD esta en otra makina...y yo me kiero conectar desde mi makina...pero estoy confundida...
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 15/05/2007 15:48:56
Entonces en vez de usar 127.0.0.1 usa la direccion IP del equipo donde esta la BD...

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 15/05/2007 15:53:04
Yamil...te puedes conectar al Messenger por favor, asi te explico mejor y tu me explicas mejor...si puedes..Gracias
*************YO TE AGREGO***************

RE:Conexion a Postgres con PHP

Publicado por Anaxaxia (13 intervenciones) el 15/05/2007 16:28:47
<-----Entonces en vez de usar 127.0.0.1 usa la direccion IP del equipo donde esta la BD...--->....ESTO DE USAR LA DIRECCION IP DEL EQUIPO DONDE ESTA LA BD, DEBO HACERLO EN MI EQUIPO O EN EL EQUIPO REMOTO?
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 15/05/2007 18:00:27
Hola. Tengo el MSN bloqueado aqui en la oficina :-(
En la conexion a la BD es donde debes cambiarlo, es decir, donde estan alojadas tus paginas php. Lo mas facil es que crees un archivo para incluir done quieres abrir la conexion.

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 15/05/2007 19:17:14
A ver Yamil,te explico toda la situacion. Yo tengo un sistema, q ya esta hecho,en php y estaba conectado a MySql(vale decir q yo no fui kien hizo el sistema),pero ahora mi jefa kiere q hagamos la conexion y todo lo demas con Postgres. Yo hice una pagina PHP con la conexion a Postgres,con el siguiente cogigo:
******************************************************************************************
$conexion=("host=192.168.200.66 user=administrador password=postgresql dbname=integracion");//or die('No se pudo conectar: 0' . pg_last_error());
$conecta=pg_connect($conexion);
if (!$conecta)
{
echo "<p>No se pudo conectar a la Base de Datos<p>";
exit; }
******************************************************************************************
Eso lo hice para probar si en verdad se conectaba con la BD q esta en otro equipo,host=192.168.200.66 esta ip corresponde a el equipo donde se encuentra la BD,y todo lo demas tambien....supongo q eso es lo q me estabas explicando...
Ahora bien,la ruta donde estan las paginas para ser probadas es:C:\Archivos de programa\Apache Group\Apache2\htdocs\srp...
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 15/05/2007 19:51:56
Eso es..!
Ahora debes ver las paginas que quieres probara para ver si se conectan. cabe decir que debes cambiar todo donde hagas uso de funciones de MySql a las correspondien tes funciones de Postgress
- Todos los casos donde hagas uso de funciones de m

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 16/05/2007 15:49:46
Yamil...auxiliame...ya hice lo q me dijiste pero no funciona,ya cambie a posgres todo lo q estaba en mySql,pero la conexion sigue dando el mismo error:
******************************************************************************************
Warning: pg_connect(): Unable to connect to PostgreSQL server: could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "192.168.200.66" and accepting TCP/IP connections on port 5432? in C:\Archivos de programa\Apache Group\Apache2\htdocs\srp\conexion.php on line 3
******************************************************************************************
Por favor...Ayudenme!!
Gracias
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 16/05/2007 17:12:15
Anaxtaxia:

1) Trata de hacer ping a tu servidor de BD para ver si lo ves en la red
2) Si lo ves con PING, usa Telnet para ver si el servido de Postegress esta arriba y funcionando...

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 16/05/2007 17:30:00
Ahora si es verdad q voy a llorar....no se si te acuerdas q te dije q soy super NOVATA PROGRAMANDO...asi q en cierta forma no comprendo lo q me dices..la red q utilizo es local,es decir,basicamente el equipo donde esta la BD esta al lado de mi equipo...en verdad me da pena contigo...disculpa mi ignorancia...pero si puedes ser un poco mas especifico y decirme como se hace lo q me habias respondido anteriormente...es la primera vez q trabajo en red y con conexiones remotas ,disculpame en verdad!
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 17/05/2007 13:50:12
Entras a DOS y haces
ping nombre_servidor_bd o direccion IP. por ejemplo :
ping MiServidor

y deberia responder con algo como Reply.... y otras cosas.
Si esto esta bien haces telnet asi

telnet nombre_servidor_bd o direccion IP puerto

Supongamos que el puerto del servidor de base de datos es 2000, entonces haces

telnet MiServidor 2000

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 17/05/2007 14:45:23
Hola...lo q me dijiste envia un error,algo asi como:
"No se puede abrir la conexion al host en el puerto 3128:Error en la conexion".Ahora bien,alguien me dijo q yo debia editar un archivo de postgres llamado pg_hba q esta en el equipo de BD y darle permisos a mi equipo, colocandole la direccion IP de mi equipo.Algo asi como esto:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all 192.168.200.210 md5

Dime tu si es asi...ya he probado todo lo q me has dicho...me falta esto nada mas..
Gracias de antemano...

RE:Conexion a Postgres con PHP

Publicado por Anaxtaxia (13 intervenciones) el 17/05/2007 14:45:29
Hola...lo q me dijiste envia un error,algo asi como:
"No se puede abrir la conexion al host en el puerto 3128:Error en la conexion".Ahora bien,alguien me dijo q yo debia editar un archivo de postgres llamado pg_hba q esta en el equipo de BD y darle permisos a mi equipo, colocandole la direccion IP de mi equipo.Algo asi como esto:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all 192.168.200.210 md5

Dime tu si es asi...ya he probado todo lo q me has dicho...me falta esto nada mas..
Gracias de antemano...
sin imagen de perfil

RE:Conexion a Postgres con PHP

Publicado por Yamil Bracho (888 intervenciones) el 17/05/2007 18:26:47
Si, pruebalo pero usando ping y Telnet puedes determinar si el equipo esta recibiendo peticiones y con Telnet ves si te pide algun tipo de permiso...