? constraintExists.patch
? includes/database/pgsql/constraintExists.patch
Index: includes/database/pgsql/schema.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/pgsql/schema.inc,v
retrieving revision 1.43
diff -u -5 -p -r1.43 schema.inc
--- includes/database/pgsql/schema.inc	29 Dec 2010 04:03:42 -0000	1.43
+++ includes/database/pgsql/schema.inc	29 Dec 2010 15:24:12 -0000
@@ -429,11 +429,11 @@ class DatabaseSchema_pgsql extends Datab
    * @param $name
    *   The name of the constraint (typically 'pkey' or '[constraint]_key').
    */
   protected function constraintExists($table, $name) {
     $constraint_name = '{' . $table . '}_' . $name;
-    return (bool) $this->connection->query("SELECT 1 FROM pg_constraint WHERE conname = '$constraint_name'")->fetchField();
+    return (bool) $this->connection->query("SELECT 1 FROM pg_constraint AS c INNER JOIN pg_namespace AS n ON n.oid = c.connamespace WHERE c.conname = '$constraint_name'  AND n.nspname = 'public';")->fetchField();
   }
 
   public function addPrimaryKey($table, $fields) {
     if (!$this->tableExists($table)) {
       throw new DatabaseSchemaObjectDoesNotExistException(t("Cannot add primary key to table %table: table doesn't exist.", array('%table' => $table)));
