Re: PITR and Temp Tables - Mailing list pgsql-general

From Tom Lane
Subject Re: PITR and Temp Tables
Date
Msg-id 2781108.1650461774@sss.pgh.pa.us
Whole thread Raw
In response to PITR and Temp Tables  (Huan Ruan <leohuanruan@gmail.com>)
Responses Re: PITR and Temp Tables  (Greg Stark <stark@mit.edu>)
List pgsql-general
Huan Ruan <leohuanruan@gmail.com> writes:
> Let's say at T0 a database has N session based temp tables. They would have
> corresponding records in the catalog tables like pg_class and pg_attribute
> that are visible to other sessions.

> At T1, I do a PITR to T0. That recovered database should not have those
> temp tables because the sessions they were created in are not present. My
> question is what events trigger the deletion of those temp tables' catalog
> records (e.g. pg_class and pg_attribute etc.) in the recovered database?

Those records will still be there in the catalogs, yes.

Cleaning out the contents of a temporary schema is not the responsibility
of the WAL/recovery system.  It's done by live backends at two times:

1. A session that has used a temp schema will normally clean out the
contained objects when it exits.

2. As a backstop in case #1 fails, a session that is about to begin using
a temp schema will clean out any surviving contents.

So if you rewound to a point where some temp objects exist, it'd be the
responsibility of the first session that wants to use a given temp schema
to clean out those objects.

            regards, tom lane



pgsql-general by date:

Previous
From: Huan Ruan
Date:
Subject: Re: PITR and Temp Tables
Next
From: Greg Stark
Date:
Subject: Re: PITR and Temp Tables