Fix pg_dump sorting of foreign key constraints
authorÁlvaro Herrera <[email protected]>
Sat, 18 Oct 2025 15:50:10 +0000 (17:50 +0200)
committerÁlvaro Herrera <[email protected]>
Sat, 18 Oct 2025 15:50:10 +0000 (17:50 +0200)
Apparently, commit 04bc2c42f765 failed to notice that DO_FK_CONSTRAINT
objects require identical handling as DO_CONSTRAINT ones, which causes
some pg_upgrade tests in debug builds to fail spuriously.  Add that.

Author: Álvaro Herrera <[email protected]>
Backpatch-through: 13
Discussion: https://postgr.es/m/202510181201[email protected]

src/bin/pg_dump/pg_dump_sort.c

index 6c44a8a910c76f3bf18ba92bd4c01a66030ab9aa..998412783b017dcde2e2c42b81df1063f4e7e701 100644 (file)
@@ -379,7 +379,8 @@ DOTypeNameCompare(const void *p1, const void *p2)
        if (cmpval != 0)
            return cmpval;
    }
-   else if (obj1->objType == DO_CONSTRAINT)
+   else if (obj1->objType == DO_CONSTRAINT ||
+            obj1->objType == DO_FK_CONSTRAINT)
    {
        ConstraintInfo *robj1 = *(ConstraintInfo *const *) p1;
        ConstraintInfo *robj2 = *(ConstraintInfo *const *) p2;