*
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.365 2010/01/06 03:03:58 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/catalog/heap.c,v 1.366 2010/01/06 05:18:18 momjian Exp $
  *
  *
  * INTERFACE ROUTINES
                                         errmsg("only shared relations can be placed in pg_global tablespace")));
        }
 
-       if ((relkind == RELKIND_RELATION || relkind == RELKIND_SEQUENCE) &&
+       if ((relkind == RELKIND_RELATION || relkind == RELKIND_SEQUENCE ||
+                relkind == RELKIND_VIEW || relkind == RELKIND_COMPOSITE_TYPE) &&
                OidIsValid(binary_upgrade_next_heap_relfilenode))
        {
                relid = binary_upgrade_next_heap_relfilenode;
 
  *     by PostgreSQL
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.565 2010/01/06 03:04:02 momjian Exp $
+ *       $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.566 2010/01/06 05:18:18 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
        int                     ntups;
        int                     i_attname;
        int                     i_atttypdefn;
+       int                     i_typrelid;
        int                     i;
 
        /* Set proper schema search path so type references list correctly */
        /* We assume here that remoteVersion must be at least 70300 */
 
        appendPQExpBuffer(query, "SELECT a.attname, "
-                        "pg_catalog.format_type(a.atttypid, a.atttypmod) AS atttypdefn "
+                        "pg_catalog.format_type(a.atttypid, a.atttypmod) AS atttypdefn, "
+                                         "typrelid "
                                          "FROM pg_catalog.pg_type t, pg_catalog.pg_attribute a "
                                          "WHERE t.oid = '%u'::pg_catalog.oid "
                                          "AND a.attrelid = t.typrelid "
 
        i_attname = PQfnumber(res, "attname");
        i_atttypdefn = PQfnumber(res, "atttypdefn");
+       i_typrelid = PQfnumber(res, "typrelid");
 
        if (binary_upgrade)
+       {
+               Oid typrelid = atooid(PQgetvalue(res, 0, i_typrelid));
+               
                binary_upgrade_set_type_oids_by_type_oid(q, tyinfo->dobj.catId.oid);
+               binary_upgrade_set_relfilenodes(q, typrelid, false);
+       }
 
        appendPQExpBuffer(q, "CREATE TYPE %s AS (",
                                          fmtId(tyinfo->dobj.name));
                appendPQExpBuffer(delq, "%s;\n",
                                                  fmtId(tbinfo->dobj.name));
 
+               if (binary_upgrade)
+                       binary_upgrade_set_relfilenodes(q, tbinfo->dobj.catId.oid, false);
+
                appendPQExpBuffer(q, "CREATE VIEW %s AS\n    %s\n",
                                                  fmtId(tbinfo->dobj.name), viewdef);
 
 
  * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.568 2010/01/06 03:07:24 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.569 2010/01/06 05:18:18 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201001052
+#define CATALOG_VERSION_NO     201001061
 
 #endif