Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.238.2.15
diff -u -p -r1.238.2.15 system.install
--- modules/system/system.install	1 Jul 2009 20:51:56 -0000	1.238.2.15
+++ modules/system/system.install	29 Jul 2009 05:50:08 -0000
@@ -319,6 +319,15 @@ function system_install() {
     if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'bigint_unsigned_check'"))) {
       db_query("CREATE DOMAIN bigint_unsigned bigint CHECK (VALUE >= 0)");
     }
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'real_unsigned_check'"))) {
+      db_query("CREATE DOMAIN real_unsigned real CHECK (VALUE >= 0)");
+    }
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'double precision_unsigned_check'"))) {
+      db_query("CREATE DOMAIN \"double precision_unsigned\" double precision CHECK (VALUE >= 0)");
+    }
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'numeric_unsigned_check'"))) {
+      db_query("CREATE DOMAIN numeric_unsigned numeric CHECK (VALUE >= 0)");
+    }
 
     // Create functions.
     db_query('CREATE OR REPLACE FUNCTION "greatest"(numeric, numeric) RETURNS numeric AS
@@ -2598,6 +2607,25 @@ function system_update_6051() {
 }
 
 /**
+ * Add missing unsigned types to PostgreSQL.
+ */
+function system_update_6052() {
+  $ret = array();
+  if ($GLOBALS['db_type'] == 'pgsql') {
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'real_unsigned_check'"))) {
+      $ret[] = update_sql("CREATE DOMAIN real_unsigned real CHECK (VALUE >= 0)");
+    }
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'double precision_unsigned_check'"))) {
+      $ret[] = update_sql("CREATE DOMAIN \"double precision_unsigned\" double precision CHECK (VALUE >= 0)");
+    }
+    if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'numeric_unsigned_check'"))) {
+      $ret[] = update_sql("CREATE DOMAIN numeric_unsigned numeric CHECK (VALUE >= 0)");
+    }
+  }
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-6.x-extra"
  * The next series of updates should start at 7000.
  */
