Re: Temporary tables under hot standby

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Noah Misch <noah(at)leadboat(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Temporary tables under hot standby
Date: 2012-04-25 17:31:45
Message-ID: CA+U5nMKxGrnh7xK=2TJ26+D73K_m-Yvd-6=HDKmGp23RQ=RaOw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 25, 2012 at 5:53 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

>> Yes, we are. Global Temp Tables won't solve the "Works on HS" problem,
>> so we'd better decide fairly quickly which use case we are addressing,
>> and why. ISTM Global Temp Tables is more an Oracle compatibility issue
>> than a problem PostgreSQL users have.
>>
> Well, Noah presented a pretty good outline of how to make global temp
> tables work under Hot Standby.  As Noah already said, making regular
> temporary tables work under Hot Standby is far more difficult.  I
> think he's right.  I'd rather see us get global temp tables working
> under HS than insist we have to have regular temp tables working under
> HS and ultimately end up with nothing.  Even getting global temp
> tables working under HS is probably going to require an entire
> development cycle, maybe two.  So raising the bar still higher seems
> rather self-defeating to me.  Half a loaf is better than none.
...
> What Noah has proposed seems to me to be by far
> the simplest way of making that happen, so I think his design is
> spot-on.

Noah's design is spot-on for Global Temp tables, I agree. I have no
objection at all to an implementation of GTTs.

However, it is a fallacy that this is a good solution for using temp
tables on HS. I think the wish to enhance Oracle compatibility is
making some wishful thinking happen with regard to how useful this is
going to be. We need to spend just as much time considering the
utility of our work as we do spending time on the quality of the
implementation, otherwise its just well-implemented shelfware.

I don't think implementing temp tables on HS is more complex than this
proposal, its just orthogonal. There are some common aspects, such as
making local xids work, but that is only needed for a small fraction
of the normal temp table case. So it appears to me that GTTs as
proposed are actually harder to implement and not a stepping stone in
a linear sense. So you could equally argue that the requirement to
bring GTTs into the picture also risks us getting nothing and that the
"half a loaf" idea means GTTs should be excluded. Certainly, trying to
do two orthogonal tasks at once puts both at risk.

So I don't accept the proposition that "GTTs are a useful
implementation route for temp tables on HS", unless we're talking
about a "scenic route".

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2012-04-25 17:54:20 proposal - urlencode, urldecode support
Previous Message Robert Haas 2012-04-25 17:19:10 Re: Patch: add timing of buffer I/O requests