Must check indisready not just indisvalid when dumping from 9.2 server.
9.2 uses a kluge representation of "indislive"; we have to account for that when examining pg_index. Simplest solution is to check indisready for 9.0 and 9.1 as well; that's harmless though unnecessary, so it's not worth making a version distinction for. Fixes oversight in commit 683abc73dff549e94555d4020dae8d02f32ed78b, as noted by Andres Freund.
This commit is contained in:
parent
29505a894e
commit
aa02864f64
@ -4901,6 +4901,10 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
|
||||
resetPQExpBuffer(query);
|
||||
if (fout->remoteVersion >= 90000)
|
||||
{
|
||||
/*
|
||||
* the test on indisready is necessary in 9.2, and harmless in
|
||||
* earlier/later versions
|
||||
*/
|
||||
appendPQExpBuffer(query,
|
||||
"SELECT t.tableoid, t.oid, "
|
||||
"t.relname AS indexname, "
|
||||
@ -4922,7 +4926,7 @@ getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
|
||||
"i.indexrelid = c.conindid AND "
|
||||
"c.contype IN ('p','u','x')) "
|
||||
"WHERE i.indrelid = '%u'::pg_catalog.oid "
|
||||
"AND i.indisvalid "
|
||||
"AND i.indisvalid AND i.indisready "
|
||||
"ORDER BY indexname",
|
||||
tbinfo->dobj.catId.oid);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user