Index: modules/system/system.install =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.install,v retrieving revision 1.254 diff -u -p -r1.254 system.install --- modules/system/system.install 15 May 2008 20:55:58 -0000 1.254 +++ modules/system/system.install 8 Jun 2008 15:02:00 -0000 @@ -305,9 +305,15 @@ function system_requirements($phase) { function system_install() { if ($GLOBALS['db_type'] == 'pgsql') { // Create unsigned types. - db_query("CREATE DOMAIN int_unsigned integer CHECK (VALUE >= 0)"); - db_query("CREATE DOMAIN smallint_unsigned smallint CHECK (VALUE >= 0)"); - db_query("CREATE DOMAIN bigint_unsigned bigint CHECK (VALUE >= 0)"); + if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'int_unsigned_check'"))) { + db_query("CREATE DOMAIN int_unsigned integer CHECK (VALUE >= 0)"); + } + if (!db_result(db_query("SELECT COUNT(*) FROM pg_constraint WHERE conname = 'smallint_unsigned_check'"))) { + db_query("CREATE DOMAIN smallint_unsigned smallint CHECK (VALUE >= 0)"); + } + 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)"); + } // Create functions. db_query('CREATE OR REPLACE FUNCTION "greatest"(numeric, numeric) RETURNS numeric AS