Tabla temporal
Tabla con alcance de sesión — solo existe durante la sesión/conexión actual y se elimina automáticamente al desconectar. CREATE TEMP TABLE staging AS SELECT .... Casos de uso: consultas complejas de varios pasos, staging de ETL, caché de cálculos dentro de una sesión.
PostgreSQL: las tablas temporales viven en el esquema pg_temp_sesión. MySQL: palabra clave TEMPORARY. SQL Server: prefijo # o ## (temporal local frente a global). Rendimiento: normalmente en RAM (ajustable con temp_buffers en PostgreSQL), sin sobrecarga de WAL por tener alcance de sesión. Se permiten índices. Conflicto de nombres: si coexisten una temporal y una real con el mismo nombre, gana la temporal. Trampa del connection pooling: el modo transaction de PgBouncer rompe las tablas temporales, ya que cada sentencia usa una conexión distinta. Alternativa moderna: WITH (CTE) + LATERAL para hacer staging dentro de la propia consulta sin persistencia.