You are correct. I later found two other processes excuting the same query. Once I killed them all the temp files automatically were deleted. -----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx [mailto:pgsql-general-owner@xxxxxxxxxxxxxx] On Behalf Of Tom Lane Sent: Tuesday, February 05, 2013 12:07 PM To: Robert Klaus Cc: pgsql-general@xxxxxxxxxxxxxx Subject: Re: cleanup of pgsql_tmp directory "Robert Klaus" <rklaus@xxxxxxxxxxxxxxxxxx> writes: > This morning we found out that our filesystem was at 98% and filling > quickly. We immediately found one query running for a long time and > saw > 1500+ files in the pgsql_tmp directory we could attribute to it. > I killed using pg_terminate_backend and some space was reclaimed, but > the temporary files from the process are still in the pgsql_tmp directory. Temp files should be deleted during proc_exit processing. You're sure you used pg_terminate_backend() and not something more aggressive? Are you sure these files actually belong to the process you killed? > We're on postgres 8.4.9 on centos. Which process should be deleting these > files and what is normally the delay? I'm assuming the postmaster > process will eventually delete them, but does the server have to be bounced in order > for this to happen? It's been 30 minutes since the process was killed. If a process failed to remove its own temp files for some reason, there's no other mechanism for getting rid of them, except that a postmaster restart will run around and clean out all the temp directories. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general