Hola Mauricio

Creo que tiene una confusión entre tablas unlogged y tablas temporales,
para lo que desea hacer  las tablas temporales seria lo que esta
buscando...en le siguiente link encuentra un ejemplo:


http://www.sqlines.com/postgresql/statements/create_temporary_table

El 2 de junio de 2016, 17:08, Alvaro Herrera<alvhe...@2ndquadrant.com>
escribió:

> mauricio pullabuestan escribió:
> > Buen día.
> >
> > Tengo una función que utiliza una tabla temporal con un indice don
> ingreso y actualizo datos, luego hago un update a otras tablas en base a a
> la data de la tabla temporal.
> >
> > Según leí el rendimiento es mejor en una tabla física que una temporal,
> entonces quiero cambiar la tabla temporal con una tabla Unlogged y que al
> final de la función los registros de dicha tabla se eliminen
> automáticamente.
> >
> > Esta función es llamada por varios usuarios, como cada uno tiene su
> propia transacción, los datos serán independientes, por lo cual no habría
> problema con la concurrencia.
> >
> > Mi definición de la tabla seria algo como esto.
> >
> > Create unlogged table miesquema.item_costo
> > (
> > item integer,
> > tiene_componenten boolean,
> > costo numeric(12, 8),
> > ...
> > ) ON COMMIT DELETE ROWS;
> >
> > Pero me lanza un error "On Commit solo puede ser usado con tablas
> > temporales", existe algún mecanismo para vaciar la tabla al salir de
> > la función?
>
> No, pero podrías usar TRUNCATE.
>
> ¿Dónde leíste que una tabla unlogged era mejor que una tabla temporal?
> Hasta donde yo sé, la única diferencia es en qué punto una o la otra se
> van a disco; y para una tabla temporal puedes controlarlo con el
> parámetro temp_buffers.  Quizás podrías probar si mejora poniendo
> temp_buffers en un tamaño donde quepa la tabla completa, para evitar que
> se escriba a disco.
>
> --
> Álvaro Herrera                http://www.2ndQuadrant.com/
> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org
> )
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>



-- 
Cordialmente,

Ing. Hellmuth I. Vargas S.
Esp. Telemática y Negocios por Internet
Oracle Database 10g Administrator Certified Associate
EnterpriseDB Certified PostgreSQL 9.3 Associate

Responder a