Re: Use of non-restart-safe storage by temp_tablespaces

From: Mark Dilger <hornschnorter(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Use of non-restart-safe storage by temp_tablespaces
Date: 2017-05-31 15:28:51
Message-ID: F3F9F77E-B3F6-4862-B1FD-13E633F72664@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> On May 31, 2017, at 7:58 AM, Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> On Wed, May 31, 2017 at 07:53:22AM -0700, Mark Dilger wrote:
>>> Just to clarify, the TEMPORARY clause would allow the tablespace to
>>> start up empty, while normal tablespaces can't do that, right? One big
>>> problem is that we don't have any way to prevent non-temporary
>>> tablespaces from being created on transient storage. I wonder if we
>>> should document this restriction, but it seems awkward to do.
>>
>> It depends what you mean by allowing the tablespace to start up empty.
>> It must not be empty once users can run queries, since the catalogs will still
>> have entries for the tablespace and its dependent objects. So, what must
>> happen is that during startup the tablespace and its temporary tables and
>> indexes get recreated if they are missing.
>
> Uh, I thought only the sessions that created the temporary objects could
> see them, and since they are not in WAL and autovacuum can't see them,
> their non-existence in a temporary tablespace would not be a problem.

You are correct. I was thinking about an extension to allow unlogged
tablespaces on temporary filesystems, but got the words "unlogged" and
"temporary" mixed up in my thinking and in what I wrote. I should have
written that unlogged tablespaces would only host unlogged tables and
unlogged indexes, such that users are not surprised to find their data
missing.

On reflection, I think both features are worthwhile, and not at all exclusive
of each other, though unlogged tablespaces is probably considerably more
work to implement.

Mark Dilger

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-05-31 15:36:18 Re: [PATCH] quiet conversion warning in DatumGetFloat4
Previous Message Alvaro Herrera 2017-05-31 15:20:21 Re: Segmentation fault when creating a BRIN, 10beta1