diff --git a/includes/database.pgsql.inc b/includes/database.pgsql.inc
index 32ae48e0bb31092f5934bce7911022a95f39f319..4a074862ecba638f75f54353d013e8f0e20c24b6 100644
--- a/includes/database.pgsql.inc
+++ b/includes/database.pgsql.inc
@@ -579,14 +579,6 @@ function _db_create_field_sql($name, $spec) {
   if ($spec['type'] == 'serial') {
     unset($spec['not null']);
   }
-  if (!empty($spec['unsigned'])) {
-    if ($spec['type'] == 'serial') {
-      $sql .= " CHECK ($name >= 0)";
-    }
-    else {
-      $sql .= '_unsigned';
-    }
-  }
 
   if (in_array($spec['type'], array('varchar', 'char', 'text')) && isset($spec['length'])) {
     $sql .= '('. $spec['length'] .')';
@@ -595,6 +587,10 @@ function _db_create_field_sql($name, $spec) {
     $sql .= '('. $spec['precision'] .', '. $spec['scale'] .')';
   }
 
+  if (!empty($spec['unsigned'])) {
+    $sql .= " CHECK ($name >= 0)";
+  }
+
   if (isset($spec['not null']) && $spec['not null']) {
     $sql .= ' NOT NULL';
   }