• Tom Lane's avatar
    Improve pg_upgrade's report about failure to match up old and new tables. · 73b9952e
    Tom Lane authored
    Ordinarily, pg_upgrade shouldn't have any difficulty in matching up all
    the relations it sees in the old and new databases.  If it does, however,
    it just goes belly-up with a pretty unhelpful error message.  That seemed
    fine as long as we expected the case never to occur in the wild, but
    Alvaro reported that it had been seen in a database whose pg_largeobject
    table had somehow acquired a TOAST table.  That doesn't quite seem like
    a case that pg_upgrade actually needs to handle, but it would be good if
    the report were more diagnosable.  Hence, extend the logic to print out
    as much information as we can about the mismatch(es) before we quit.
    
    In passing, improve the readability of get_rel_infos()'s data collection
    query, which had suffered seriously from lets-not-bother-to-update-comments
    syndrome, and generally was unnecessarily disrespectful to readers.
    
    It could be argued that this is a bug fix, but given that we have so few
    reports, I don't feel a need to back-patch; at least not before this has
    baked awhile in HEAD.
    73b9952e
info.c 18.4 KB