Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Postgres con PHP¿Debo poner el nombre de la BD en cada tabla de la consulta?

Estas en el tema de Consulta Postgres con PHP¿Debo poner el nombre de la BD en cada tabla de la consulta? en el foro de PHP en Foros del Web. Hola. Hice la conexión de postgres con PHP y me dio muy bien, pero cuando voy a hacer una consulta, por ejemplo: SELECT * FROM ...
  #1 (permalink)  
Antiguo 21/07/2015, 11:51
 
Fecha de Ingreso: mayo-2013
Mensajes: 40
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Consulta Postgres con PHP¿Debo poner el nombre de la BD en cada tabla de la consulta?

Hola.

Hice la conexión de postgres con PHP y me dio muy bien, pero cuando voy a hacer una consulta, por ejemplo:

SELECT * FROM personas;

Me saca un error, dando a entender de que la tabla no existe, pero cuando le pongo a la consulta la referencia a la base de datos, si me da bien la consulta como pongo en el siguiente ejemplo:

SELECT * FROM academica.personas;

Mi pregunta es porque me esta sacando ese error, sabiendo que en la conexión yo ya estoy dando el nombre de la base de datos, como hago para hacer las consultas sin darle el nombre de la base de datos a cada tabla?, por favor necesito ayuda, lo agradeceria bastante.

Muchas gracias.

Saludos.
__________________
Alex
  #2 (permalink)  
Antiguo 21/07/2015, 14:45
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 1
Respuesta: Consulta Postgres con PHP¿Debo poner el nombre de la BD en cada tabla de l

Comparte tu conexion, para poder apoyarte, pero lo mas problable es que no estes seleccionando la bd
  #3 (permalink)  
Antiguo 23/07/2015, 11:51
 
Fecha de Ingreso: mayo-2013
Mensajes: 40
Antigüedad: 10 años, 10 meses
Puntos: 0
De acuerdo Respuesta: Consulta Postgres con PHP¿Debo poner el nombre de la BD en cada tabla de l

Hola Geomatra.

Gracias por tu interés en ayudarme, pero ya solucione el asunto, el error era porque una base de datos postgresql puede tener varios schemas(en los schemas es donde se guardan las tablas, funciones, etc..), el schema por defecto es el public, cuando yo cree mi base de datos también le cree un schema nuevo donde pudiera guardar las tablas, entonces por eso me tocaba anteponer el nombre del schema(al cual le coloque un mismo nombre que el de la BD) a las tablas de las consultas, si hubiera guardado las tablas en el schema por defecto que es el public, no me hubiera salido ese error, pero en caso de que quieras que un schema diferente al public sea el que va a estar por defecto, entonces ejecutamos la siguiente consulta:

ALTER USER nombre_usuario_bd SET search_path TO nombre_esquema,public;

De esta manera las consultas se harán normalmente siempre y cuando apunten al esquema por defecto que tu seleccionaste con el comando anterior de primero antes que el public(nombre_esquema,public).

Espero esta explicación le pueda servir a alguien que tenga el mismo problema.

Saludos.
__________________
Alex

Etiquetas: postgres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:13.