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