5 votos

¿Cómo ejecutar (consulta SQL) en un esquema diferente en QGIS DB Manager?

Mi última pregunta fue Cómo de CONSULTA (SQL) en QGIS Gestor de bases de datos? El resultado fue este:

enter image description here

Tuve éxito...

Pero cuando trato de usar la misma capa en otro ESQUEMA (No en Público) me da este error:

enter image description here

Podía alguien me diga: ¿qué estoy haciendo mal aquí?

6voto

Kristi Puntos 1

El esquema y la tabla deben citarse por separado.

SELECT * FROM "BD_Maputo"."Capitais_Provinciais" ...

2voto

neouser99 Puntos 1203

También puede añadir un esquema adicional a su ruta de búsqueda para no tener que especificar el nombre del esquema cada vez que quiera ejecutar una consulta. Si tiene derechos de administrador puede modificar la ruta de búsqueda para toda la base de datos con:

ALTER DATABASE <database_name> SET search_path TO schema1,schema2;

o si no tienes derechos de administrador puedes cambiar la ruta de búsqueda sólo para tu rol:

ALTER ROLE <role_name> SET search_path TO schema1,schema2;

En tu caso el comando sería algo así:

ALTER DATABASE <database_name> SET search_path TO public, "BD_Maputo"
  , topology, tiger, tiger_data;

Sólo tienes que sustituirlo por el nombre real de tu base de datos. No olvide incluir public en su nueva search_path, de lo contrario puede causar problemas cuando trate de referenciar las funciones de PostGIS.

Además, si no quiere utilizar las comillas dobles en sus consultas, puede modificar los nombres de los esquemas, las tablas y las columnas para utilizar todas las minúsculas.

Para más información sobre search_path, véase el Manual de Postgres .

Editar: Si se modifica la ruta de búsqueda hay que establecer una nueva conexión para poder utilizar la nueva ruta de búsqueda. En tu caso, cerrar y volver a abrir QGIS funcionará.

0 votos

+1 para el enfoque search_path, aunque yo desaconsejaría la alteración de las variables del sistema sin la experiencia y la comprensión adecuada, especialmente en una base de datos de producción (incluso en el nivel de base de datos).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X