From: "Andres Freund" <>
On 2014-07-22 17:05:22 +0900, MauMau wrote:
RemovePgTempFiles() frees the disk space by removing temp relation files at
server start.

But it's not called during a crash restart.

Yes, the comment of the function says:

* NOTE: we could, but don't, call this during a post-backend-crash restart
* cycle. The argument for not doing it is that someone might want to examine
* the temp files for debugging purposes.  This does however mean that
* OpenTemporaryFile had better allow for collision with an existing temp
* file name.

But this is true if restart_after_crash = on in postgresql.conf, because the crash restart only occurs in that case. However, in HA cluster, whether it is shared-disk or replication, restart_after_crash is set to off, isn't it?

Moreover, as the comment says, the behavior of keeping leftover temp files is for debugging by developers. It's not helpful for users, isn't it? I thought messages of DEBUG level is more appropriate, because the behavior is for debugging purposes.

In addition, the temp relation files are not replicated to
the standby server of streaming replication (this is the customer's


Yes, so nobody can convince serious customers that the current behavior makes real sense.

Could you please reconsider this?


Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to