Necesito establecer la ruta del esquema en Postgres para no especificar siempre la tabla de puntos del esquema, por ejemplo schema2.table
. Establecer ruta de esquema:
SET SCHEMA PATH a,b,c
solo parece funcionar para una sesión de consulta en mac, después de cerrar la ventana de consulta, la variable de ruta se restablece por defecto.
¿Cómo puedo hacer que sea permanente?
sql
postgresql
Nakh
fuente
fuente
Respuestas:
(Y si no tiene acceso de administrador al servidor)
Dos cosas importantes que debes saber:
a, b, c
importante, ya que también es el orden en que se buscarán los esquemas para las tablas. Entonces, si tiene el mismo nombre de tabla en más de un esquema entre los valores predeterminados, no habrá ambigüedad, el servidor siempre usará la tabla del primer esquema que especificó para susearch_path
.fuente
Puede establecer el valor predeterminado
search_path
en el nivel de la base de datos:O a nivel de usuario o rol:
O si tiene un esquema predeterminado común en todas sus bases de datos, puede establecer el valor predeterminado de todo el sistema en el archivo de configuración con la opción search_path .
Cuando se crea una base de datos, se crea de manera predeterminada a partir de una base de datos de "plantilla" oculta llamada template1 , puede modificar esa base de datos para especificar una nueva ruta de búsqueda predeterminada para todas las bases de datos creadas en el futuro. También puede crear otra base de datos de plantilla y usarla
CREATE DATABASE <database_name> TEMPLATE <template_name>
para crear sus bases de datos.fuente
Josh tiene razón, pero omitió una variación:
Establezca la ruta de búsqueda para el usuario, en una base de datos particular.
fuente