Referencia técnica independienteSitio oficial
  • Software y sistemas
  • Base de datos

42P01

PostgreSQL 42P01 en base de datos: la tabla o relación no existe

Verificada con fuentes2 fuentesRevisada 3 oct 2026
¿Viene un técnico? Mira los 2 pasos que debe enseñarte
Trace

Evidencia vinculada a esta decisión

Ver fuente: PostgreSQL 18 Appendix A: Error Codes

Nivel de riesgo

Precaución

Actúa con cuidado; puede requerir técnico si persiste.

Urgencia

Media — atiéndelo hoy

Respuesta rápida

PostgreSQL no encuentra la tabla o vista que nombra la sentencia. Comprueba en qué base y con qué search_path conecta la aplicación; la tabla puede existir en otro esquema o con otra grafía.

Seguridad primero

Antes de continuar

  • No añadas a search_path esquemas en los que otros usuarios pueden crear objetos: la documentación advierte que eso les permite cambiar el comportamiento de tus consultas.

Puedes hacerlo con seguridad

  • Base y esquemas de la sesión que falla
  • Dónde existe la tabla

Deja estas tareas a un profesional cualificado

  • No intentes esta tarea profesional: Calificar nombres o corregir search_path
  • No intentes esta tarea profesional: Aplicar el cambio de esquema pendiente

Lo que un técnico debe poder justificar

Viene un técnico

Estos son los pasos que tiene que hacer y enseñarte. Márcalos mientras trabaja: si se salta pasos, no aceptes el cambio de pieza.

No son instrucciones para que abras o manipules el equipo. Son las comprobaciones que deben sostener una conclusión técnica.

  1. Calificar nombres o corregir search_path

    Qué haceEl desarrollador escribe esquema.tabla en las consultas o ajusta search_path para el rol, siguiendo la política del equipo.

    Te tiene que enseñarel cambio.

    Por escritola prueba en la base afectada.

  2. Aplicar el cambio de esquema pendiente

    Qué haceSi la tabla falta, el equipo aplica la migración revisada que la crea en esa base.

    Te tiene que enseñarel estado de las migraciones antes y después.

    Por escritola versión aplicada.

Antes de aceptar una pieza o reparación

Aún no ha demostrado nada. No aceptes un cambio de pieza solo por el código.

Sigue estos pasos

Aviso: Sigue el orden documentado. Un código identifica el sistema afectado, pero por sí solo no demuestra qué pieza está averiada.

  1. Base y esquemas de la sesión que falla

    Sin herramientas especiales

    Quién:
    tú, como desarrollador.
    Cómo:
    en la misma conexión que la aplicación, ejecuta SELECT current_database(), current_schema(), current_schemas(true).
    Resultado que importa:
    en qué base y con qué esquemas busca la sesión.
    Si la base no es la prevista:
    confirma un error de configuración de la conexión.
    Si la base es correcta:
    pasa a buscar la tabla por esquema.
    Evidencia a conservar:
    salida de la consulta con hora.

    Evidencia: PostgreSQL 18 system information functions · PostgreSQL 18 schemas

  2. Dónde existe la tabla

    Requiere herramientas

    Quién:
    tú, como desarrollador.
    Cómo:
    consulta information_schema.tables filtrando por table_name, en minúsculas y con su grafía exacta; la vista solo muestra tablas a las que tu usuario tiene acceso.
    Resultado que importa:
    en qué esquema aparece y con qué nombre.
    Si aparece en otro esquema:
    indica que falta en search_path; califica el nombre como esquema.tabla.
    Si no aparece en ninguno:
    confirma que falta en esta base; revisa el cambio de esquema pendiente.
    Evidencia a conservar:
    resultado de la búsqueda.

    Solo lectura. No crees una tabla vacía con ese nombre para que desaparezca el error: no lo hagas sin el responsable del esquema.

    Evidencia: PostgreSQL 18 lexical structure · PostgreSQL 18 schemas · PostgreSQL 18 information_schema tables view

Situación no resuelta

Si el error persiste, no sigas probando por tu cuenta. Mira qué tiene que hacer y enseñarte el técnico.

Técnico virtual

¿Sigue apareciendo 42P01 tras comprobarlo?

Este recorrido usa el código exacto y tus respuestas para elegir una prueba, su resultado esperado y la siguiente bifurcación.

Dónde se aplica este código

Un código solo tiene significado dentro del producto y la versión correctos.

Ámbito principal

Sistema
Software y sistemas
Marca
PostgreSQL
Tipo de producto
Base de datos

Variantes conocidas del código

  • PostgreSQL 42P01
  • SQLSTATE 42P01
  • undefined_table

Qué significa

El apéndice A asigna 42P01 a undefined_table, en la clase 42. Para nombres sin esquema, PostgreSQL busca en las rutas de search_path y usa la primera coincidencia; si no la hay, da error aunque exista una tabla con ese nombre en otro esquema. Los nombres sin comillas se pasan a minúsculas y los entrecomillados distinguen mayúsculas. El código no dice si falta la tabla, si está en otro esquema o si la conexión apunta a otra base.

Advertencias y condiciones de parada

  • Precauciónverificada con fuente

    No añadas a search_path esquemas en los que otros usuarios pueden crear objetos: la documentación advierte que eso les permite cambiar el comportamiento de tus consultas.

    Evidencia: PostgreSQL 18 schemas

Síntomas y causas

Causas probables · en orden

  • Tabla en un esquema que no está en search_pathFrecuente

    La tabla existe, pero en un esquema que la sesión no busca. Funciona si se escribe esquema.tabla.

    Evidencia: PostgreSQL 18 schemas

  • Conexión a otra base o tabla aún no creadaPosible

    La aplicación apunta a una base distinta o a una donde no se ha aplicado el cambio que crea la tabla. current_database lo muestra.

    Evidencia: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL 18 system information functions

  • Mayúsculas en un nombre entrecomilladoPosible

    La tabla se creó como "Pedidos" y la consulta escribe Pedidos sin comillas, que se busca como pedidos.

    Evidencia: PostgreSQL 18 lexical structure

Fuentes y referencias técnicas

  1. 1

    PostgreSQL 18 Appendix A: Error Codes

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL error and notice fields

    PostgreSQL Global Development Group · 2026 · official_doc

Fuentes: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL error and notice fieldsrevisado 2026-10-03 · verificado

¿Te ha resultado útil esta ficha?