Re: Removiendotablas temporales

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Robert Diaz <robert(dot)diaz(at)smartmatic(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Removiendotablas temporales
Date: 2006-12-20 04:58:03
Message-ID: 20061220045803.GD3036@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Por favor conserva el Cc: de la lista en tus respuestas.

Robert Diaz wrote:
> Disculpa alvaro, pero inclusive reinicie los servicios de base de datos y
> tampoco borro dichas tablas temporales. Estoy pensando en una solucion que
> consiste en realizar un pg_dump, borrar la base de datos y restaurarla
> nuevamente a ver si con ello cosigo recuperar el espacio tomado por dichas
> tablas.

No, reiniciar el servidor no borra esos archivos. Y lo que propones no
es una solucion sino un parche.

Como ya dije, lo que si los borra es que alguien se conecte reutilizando
el ID de sesion que se estaba utilizando al momento de crear esas tablas
temporales, y cree una tabla temporal (este ultimo paso es necesario
aparentemente).

Como saber cual es el ID de sesion apropiado:

select nspname
from pg_class, pg_namespace
where pg_class.relnamespace = pg_namespace.oid and nspname like 'pg_temp%';

Te dara algo como pg_temp_23. (si te da mas de uno, haz lo siguiente
para cada uno de ellos). Luego abre 23 conexiones y crea una tabla
temporal en la conexion 23. Puedes saber que conexion es cada una con
esto:

select backendid
from pg_stat_get_backend_idset() backendid
where pg_stat_get_backend_pid(backendid) = pg_backend_pid();

(me sorprende pero no encuentro otra manera de obtener el backend id)

En ese momento (al crear la tabla temporal, la cual puede estar vacia)
las tablas temporales anteriores se borraran.

Que significa esto? Significa que en general, en un ambiente de
produccion no debes preocuparte por esto, porque eventualmente alguien
se conectara y los archivos se borraran automaticamente.

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"No reniegues de lo que alguna vez creíste"

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Manuel Ruiz 2006-12-20 08:53:51 Re: Optimizaciones Dual Core y RAM
Previous Message Eliana Gutierrez 2006-12-20 04:53:03 Postgres and Clarion