Re: Page-level version upgrade

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, decibel <decibel(at)decibel(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Aidan Van Dyk <aidan(at)highrise(dot)ca>, Alvaro Herrera <alvherre(at)commandprompt(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Page-level version upgrade
Date: 2009-12-02 13:33:49
Message-ID: 407d949e0912020533p675e650bu9a640a24c59c15e8@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Dec 2, 2009 at 11:26 AM, Dimitri Fontaine
<dfontaine(at)hi-media(dot)com> wrote:
> We already have had demand for read only tables (some on-disk format
> optimisation would then be possible). What about having page level
> read-only restriction, thus allowing the newer server version to operate
> in read-only mode on the older server version pages, and convert on
> write by allocating whole new page(s)?

I'm a bit confused. Read-only tables are tables that the user has said
they don't intend to modify. We can throw an error if they try. What
you're proposing are pages that the system treats as read-only but
what do you propose to do if the user actually does try to update or
delete (or lock) a record in those pages? If we want to avoid
converting them to new pages we need to be able to at least store an
xmax and set the ctid on those tuples. And probably we would need to
do other things like set hint bits or set fields in the page header.

--
greg

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2009-12-02 13:37:14 Re: Page-level version upgrade (was: Block-level CRC checks)
Previous Message Laurent Laborde 2009-12-02 13:20:30 Re: Cost of sort/order by not estimated by the query planner