Re: Truncation of UNLOGGED tables upon restart.

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: Truncation of UNLOGGED tables upon restart.
Дата
Msg-id 20181101230632.GK4184@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: Truncation of UNLOGGED tables upon restart.  (Ravi Krishna <srkrishna1@aol.com>)
Ответы Re: Truncation of UNLOGGED tables upon restart.  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-general
Greetings,

* Ravi Krishna (srkrishna1@aol.com) wrote:
> > There is no such thing as a "read only" table in PostgreSQL.  All tables are read/write no matter that frequency of
eitherevent.  There is nothing > inherently special about "no writes for 4 days" and "no writes for 10 seconds" that
wouldallow for a distinction to be made.  There could be write > in progress on the table just as it crashes Friday. 
>
> I am aware that unlogged tables have no entries in WAL, but I assumed (incorrectly) that PG will at least keep track
whetherany writes was done on a table since last checkpoint, and if none, it will find no reason to truncate it. 

No, we don't currently track that information but it's an interesting
idea, at least imv.

> The use case I was thinking about is that if we have to load a large set of data every weekend and use it for
reportinguntil next weekend, why not create those tables as unlogged. 

Seems like a pretty useful use-case.  I had been thinking for a while,
based on a comment made be someone else (Vik Fearing..), that we should
have a way to turn an unlogged table into an 'init table' or similar-
that is, just copy the data from the main fork into the init fork and
then fsync it, then the data is there on restart.

Having a way to say 'this data has been fsyncd' is a pretty interesting
idea though.  I wonder how hard it'd be to make that work.

Thanks!

Stephen

Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Rich Shepard
Дата:
Сообщение: Re: Add columns to table; insert values based on row
Следующее
От: Rich Shepard
Дата:
Сообщение: Re: Add columns to table; insert values based on row