Re: Unlogged tables cannot be truncated twice - Mailing list pgsql-bugs

From Cédric Villemain
Subject Re: Unlogged tables cannot be truncated twice
Date
Msg-id BANLkTi=MO0A79hVSmPLaY_tUowzo882n2w@mail.gmail.com
Whole thread Raw
In response to Re: Unlogged tables cannot be truncated twice  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-bugs
2011/6/1 Robert Haas <robertmhaas@gmail.com>:
> On Tue, May 31, 2011 at 7:04 AM, Cédric Villemain
> <cedric.villemain.debian@gmail.com> wrote:
>> Robert, I wonder if all the logic with INIT_FORK is only to simulate
>> truncate on server restart ?
>
> That is correct.
>
>> I failled to understand why not simply use truncate around the server
>> start (when it is in recovery).
>
> We need to do the equivalent of a truncate but without relying in any
> way on the system catalogs.  The startup process is not bound to a
> database, and starting a separate worker process for each database
> would be both very complicated and very expensive.
>
> Also note that while truncate is very simple for a table (just zero
> out the file) it's not so simple for an index (a zero-length file is
> an invalid index, not an empty one).
>
>> While here I also wonder why GiST unlogged are not supported ?!
>
> Because they use LSNs internally to guarantee proper synchronization,
> which presumes that WAL records are being omitted.  Temporary GIST
> indexes were broken too, for the same reason, but Heikki fixed that
> using GetXLogRecPtrForTemp().  We could engineer a similar solution
> for unlogged GIST indexes using a shared counter that is saved in
> pg_control across clean shutdowns, but I think that's a 9.2 project.
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

All right, things under a new light!
Thank you.


--
Cédric Villemain               2ndQuadrant
http://2ndQuadrant.fr/     PostgreSQL : Expertise, Formation et Support


pgsql-bugs by date:

Previous
From: Robert Haas
Date:
Subject: Re: BUG #6042: unlogged table with Streaming Replication
Next
From: ""
Date:
Subject: BUG #6047: prepare p1 as select 'now'::timestamp; then "execute p1" many times, they return the same time