Re: don't create storage when unnecessary

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: don't create storage when unnecessary
Date: 2018-12-07 00:06:17
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Thu, Dec 06, 2018 at 06:55:52PM -0300, Alvaro Herrera wrote:
> Some time ago, after partitioned indexes had been pushed, I realized
> that even though I didn't want them to have relfilenodes, they did. And
> looking closer I noticed that *a lot* of relation kinds that didn't need
> relfilenodes, had them anyway.
> This patch fixes that; if no relfilenode is needed, it's not created.
> I didn't verify pg_upgrade behavior across this commit. Maybe something
> needs tweaking there.
> PS: I think it'd be worth following up with this ...

A macro makes sense to control that. Now I have to admit that I don't
like your solution. Wouldn't it be cleaner to assign InvalidOid to
relfilenode in such cases? The callers of heap_create would need to be
made smarter when they now pass down a relfilenode (looking at you,
DefineIndex!), but that seems way more consistent to me. Some tests
would also be welcome.

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2018-12-07 00:27:52 Re: Hint and detail punctuation
Previous Message Bossart, Nathan 2018-12-06 23:18:12 Re: Use durable_unlink for .ready and .done files for WAL segment removal