From: | Jaime Casanova <systemguards(at)gmail(dot)com> |
---|---|
To: | Maritza Parra <database_tallersoftware(at)yahoo(dot)es> |
Cc: | Mario Jiménez Carrasco <mario(dot)carrasco(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: PostgreSQL + PHP |
Date: | 2005-08-04 16:12:21 |
Message-ID: | c2d9e70e05080409123cb98958@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On 8/4/05, Maritza Parra <database_tallersoftware(at)yahoo(dot)es> wrote:
> Hola Mario,
> actualmente estoy trabajando con php y postgresql bajo windows y no he
> tenido problemas, aki van dos tips:
> 1- hay un paquete llamado apache2triad, que trae php, postgresql y apache2.
>
> http://sourceforge.net/projects/apache2triad
>
> Instalas eso y keda todo listo, es lo maximo!!!. En el administrador de
> apache2triad tienes un conjunto de herramientas con las que puedes por
> ejemplo testear la conexion entre php y postgresql, ahi mismo tienes el
> codigo de como hacerlo.
>
interesante... gracias por este dato maritza
> 2.- revisando tu codigo, hay dos detalles, el primero tiene que ver con la
> funcion pg_Exec, yo utilizo pg_query, vee el siguiente link:
>
> http://www.ulfix.net/index.php?option=com_content&task=view&id=404&Itemid=114&limit=1&limitstart=1
>
> y segundo, en postgresql se cada tabla esta dentro de un esquema los que a
> su vez estan dentro de la base de datos, entonces cuando llamas a la tabla
> hay que hacer referencia a ella junto al esquema en donde esta, mira aqui
> hay un ejemplo de mi codigo:
>
> $dbname = "prueba";
> $dbuser = "postgres";
> $dbpass = 1111;
> $dbtab = "nombre_esquema.nombre_tabla";
> $link = pg_connect("host=$dbhost dbname=$dbname user=$dbuser
> password=$dbpass") or die ("Could not connect to $dbname on $dbhost with
> $dbuser@".$_SERVER[REMOTE_ADDR]);
>
> $sql = "SELECT * FROM $dbtab";
>
> $result = pg_query($sql);
> while ($line = pg_fetch_assoc($result)) {
> echo "<tr><td class=tdd>".$line['direccion']." </td>";
> echo "<td class=tdl>".$line['pais']." </td>";
> echo "<td class=tdd>".$line['id']." </td>";
> echo "<td class=tdl>".$line['ciudad']." </td></tr>";
> }
>
otra opcion con respecto a los esquemas es setear la variable
search_path que le indica a postgres en que esquemas buscar el nombre
de la tabla... obvio que si tienes 2 tablas con el mismo nombre pero
en distintos esquemas debes usar lasugerencia de maritza a la
fuerza...
el search_path se puede setear
1) con una sentencia SET search_path a nivel de backend
2) a nivel de usuario: ALTER USER usuario SET search_path {TO | = }
'esquema1', 'esquema2' [, 'esquema3' .....];
3) a nivel de base de datos: ALTER DATABASE base_datos SET search_path
{TO | = } 'esquema1', 'esquema2' [, 'esquema3' .....];
--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)
From | Date | Subject | |
---|---|---|---|
Next Message | Edwin Quijada | 2005-08-04 16:18:09 | RE: Bajar el Tiempo de Respuesta de los Query |
Previous Message | Edwin Quijada | 2005-08-04 16:08:02 | Re: [Fwd: Cluster para procesamiento] |