On Wed, Jun 18, 2014 at 2:55 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Tue, Jun 17, 2014 at 8:46 PM, Bruce Momjian <bruce@momjian.us> wrote:
>>> On Tue, Jun 17, 2014 at 07:12:16PM -0400, Tom Lane wrote:
>>>> What about comparing to the symbolic value LOBLKSIZE? This would make
>>>> pg_upgrade assume that the old installation had been tweaked the same
>>>> as in its own build. This ends up being the same as what you said,
>>>> ie, effectively no comparison ... but it might be less complicated to
>>>> code/understand.
>
>>> OK, assume the compiled-in default is the value for an old cluster that
>>> has no value --- yeah, I could do that.
>
>> I'm not really sure why this is better than Bruce's original proposal, though.
>
> The net behavior would be the same, but I thought it might be easier to
> code by thinking of it this way. Or maybe it wouldn't --- it's just a
> suggestion.
Well, the difference is that if we just don't check it, there can
never be an error. Basically, it's the user's job to DTRT. If we
check it against some semi-arbitrary value, we'll catch the case where
the old cluster was modified with a custom setting and the new one was
not - but couldn't we also get false positives under obscure
circumstances?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company