Re: unlogged tables

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: unlogged tables
Дата
Msg-id 4CE384A5.4080906@enterprisedb.com
обсуждение исходный текст
Ответ на Re: unlogged tables  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: unlogged tables  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 17.11.2010 03:56, Robert Haas wrote:
> On Tue, Nov 16, 2010 at 7:46 PM, Tom Lane<tgl@sss.pgh.pa.us>  wrote:
>> Robert Haas<robertmhaas@gmail.com>  writes:
>>> On Tue, Nov 16, 2010 at 5:57 PM, marcin mank<marcin.mank@gmail.com>  wrote:
>>>> Can (should ?) unlogged tables' contents survive graceful (non-crash) shutdown?
>>
>>> I don't think so.  To make that work, you'd need to keep track of
>>> every backing file that might contain pages not fsync()'d to disk, and
>>> at shutdown time you'd need to fsync() them all before shutting down.
>>
>> This is presuming that we want to guarantee the same level of safety for
>> unlogged tables as for regular.  Which, it seems to me, is exactly what
>> people *aren't* asking for.  Why not just write the data and shut down?
>> If you're unlucky enough to have a system crash immediately after that,
>> well, you might have corrupt data in the unlogged tables ... but that
>> doesn't seem real probable.
>
> I have a hard time getting excited about a system that is designed to
> ensure that we probably don't have data corruption.  The whole point
> of this feature is to relax the usual data integrity guarantees in a
> controlled way.  A small but uncertain risk of corruption is not an
> improvement over a simple, predictable behavior.

I agree with Robert, the point of unlogged tables is that the system 
knows to zap them away if there's any risk of having corruption in them. 
A corrupt page can lead to all kinds of errors. We try to handle 
corruption gracefully, but I wouldn't be surprised if you managed to 
even get a segfault caused by a torn page if you're unlucky.

fsync()ing the file at shutdown doesn't seem too bad to me from 
performance point of view, we tolerate that for all other tables. And 
you can always truncate the table yourself before shutdown.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


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

Предыдущее
От: KaiGai Kohei
Дата:
Сообщение: Re: Label switcher function
Следующее
От: Markus Wanner
Дата:
Сообщение: Re: changing MyDatabaseId