Ver el esquema de búsqueda de PostgreSQL con SHOW search_path

Consulta el orden de esquemas que PostgreSQL usa para resolver tablas y otros objetos sin nombre cualificado.

Esquemas del search_path de PostgreSQL ordenados para resolver nombres

¿Cómo saber en qué esquemas busca PostgreSQL una tabla? SHOW search_path muestra el orden de esquemas que usa la sesión cuando una consulta no escribe el esquema delante del nombre.

Consultar el search_path


SHOW search_path;

Una salida habitual es:


   search_path

-----------------

 "$user", public

$user representa un esquema con el mismo nombre que el usuario conectado, si existe. public es el siguiente esquema de la lista.

Ver los esquemas que se aplican en esta sesión

Para obtener la lista efectiva, sin los marcadores que no correspondan a un esquema existente:


SELECT current_user,

       current_schema(),

       current_schemas(false);

current_schema() devuelve el primer esquema válido del search_path. current_schemas(false) devuelve los esquemas válidos que PostgreSQL recorrerá para resolver nombres sin calificar, sin incluir los esquemas del sistema.

Si necesitas evitar ambigüedades, escribe siempre el esquema:


SELECT *

FROM public.nombre_de_tabla;

Cambiar el search_path modifica la resolución de nombres de la sesión y debe hacerse con cuidado, especialmente si una aplicación trabaja con tablas del mismo nombre en varios esquemas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *