aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2013-03-28 22:09:12 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2013-03-28 22:09:12 -0400
commitaa02864f64c46807f7682a41882fe40f7f5cb819 (patch)
treee059b895b342d51fdaf2ba6af3e6945884453b74 /src
parent29505a894e1ece60bf42a2756ae99c9e44b5ae6a (diff)
downloadpostgresql-aa02864f64c46807f7682a41882fe40f7f5cb819.tar.gz
postgresql-aa02864f64c46807f7682a41882fe40f7f5cb819.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dump.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index aa6993a3668..97751afc2da 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -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);
}