• Tom Lane's avatar
    Defend against unsupported partition relkind in logical replication worker. · a5b7821f
    Tom Lane authored
    Since partitions can be foreign tables not only plain tables, but
    logical replication only supports plain tables, we'd better check the
    relkind of a partition after we find it.  (There was some discussion
    of checking this when adding a partitioned table to a subscription;
    but that would be inadequate since the troublesome partition could be
    added later.)  Without this, the situation leads to a segfault or
    assertion failure.
    
    In passing, add a separate variable for the target Relation of
    a cross-partition UPDATE; reusing partrel seemed mighty confusing
    and error-prone.
    
    Shi Yu and Tom Lane, per report from Ilya Gladyshev.  Back-patch
    to v13 where logical replication into partitioned tables became
    a thing.
    
    Discussion: https://postgr.es/m/6b93e3748ba43298694f376ca8797279d7945e29.camel@gmail.com
    a5b7821f
worker.c 89.2 KB