Hi Tom, I tried gdb on selectDumpableNamespace() and dumpNamespace(). So it looks like for those problematic schemas,the dump value is 1 in selectDumpableNamespace() which is correct, but when it goes to dumpNamespace() the dump value becomes 0, so it get skipped. Breakpoint 2, selectDumpableNamespace (nsinfo=0x6600c0) at pg_dump.c:1227 (gdb) p nsinfo.dobj $17 = {objType = DO_NAMESPACE, catId = {tableoid = 2615, oid = 17972}, dumpId = 13, name = 0x660d80 "test", namespace = 0x0, dump = 1 '\001', ext_member = 0 '\000', dependencies = 0x0, nDeps = 0, allocDeps = 0} Breakpoint 1, dumpNamespace (fout=0x654290, nspinfo=0x6600c0) at pg_dump.c:7930 7930 { (gdb) p nspinfo.dobj $31 = {objType = DO_NAMESPACE, catId = {tableoid = 2615, oid = 17972}, dumpId = 13, name = 0x660d80 "test", namespace = 0x0, dump = 0 '\000', ext_member = 1 '\001', dependencies = 0x6e2b60, nDeps = 1, allocDeps = 16} What could possibly change the dump value between selectDumpableNamespace and dumpNamespace ? On 6/1/15, 10:19 AM, "Tom Lane" <tgl@xxxxxxxxxxxxx> wrote: >"Guo, Yun" <YGuo@xxxxxxxxx> writes: >> Is there a way to repair the database if it's corrupted? > >There's no evidence here that you've got any server-side corruption. >pg_dump should be getting back the exact same results you got >manually. > >(BTW, I assume you've ruled out the possibility that pg_dump is connecting >to some other server or database than the one you're looking at >manually...) > > regards, tom lane -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin