diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 3ee61ad136de041ac1bb5bd0829fc2a5be62b63a..884786c2ed1b7df2cd38aecd98d22235cd694b19 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,4 +1,4 @@
-Drupal 4.5.0 RC, xxxx-xx-xx
+Drupal 4.5.0 RC, 2004-10-18
 ---------------------------
 - navigation:
     * made it possible to add, delete, rename and move menu items.
diff --git a/database/database.mysql b/database/database.mysql
index 528ccbaea02a9ea04b1e59daa6b7b3d6476e7da6..9eace7d523914c60ed4ab58a785431ec01049b9f 100644
--- a/database/database.mysql
+++ b/database/database.mysql
@@ -759,7 +759,7 @@ INSERT INTO permission VALUES (1,'access content',0);
 INSERT INTO role (rid, name) VALUES (2, 'authenticated user');
 INSERT INTO permission VALUES (2,'access comments, access content, post comments, post comments without approval',0);
 
-REPLACE variable SET name='update_start', value='s:10:"2004-10-16;"';
+REPLACE variable SET name='update_start', value='s:10:"2004-10-18;"';
 REPLACE variable SET name='theme_default', value='s:10:"bluemarine";';
 
 REPLACE blocks SET module = 'user', delta = '0', status = '1';
diff --git a/database/database.pgsql b/database/database.pgsql
index ac9e31b992f4303d33fdce13922c230a2a212416..d5f11c30cf466abad4e025dfa045f02f35f69246 100644
--- a/database/database.pgsql
+++ b/database/database.pgsql
@@ -307,7 +307,7 @@ CREATE TABLE locales_meta (
 
 CREATE TABLE locales_source (
 lid serial,
-  location varchar(128) NOT NULL default '',
+  location text NOT NULL default '',
   source text NOT NULL,
   PRIMARY KEY  (lid)
 );
@@ -322,10 +322,7 @@ CREATE TABLE locales_target (
   locale varchar(12) NOT NULL default '',
   plid int4 NOT NULL default '0',
   plural int4 NOT NULL default '0',
-    UNIQUE  (lid),
-    UNIQUE  (locale),
-    UNIQUE  (plid),
-    UNIQUE  (plural)
+    UNIQUE  (lid)
 );
 
 --
@@ -752,7 +749,7 @@ INSERT INTO system VALUES ('modules/taxonomy.module','taxonomy','module','',1,0,
 INSERT INTO system VALUES ('themes/bluemarine/xtemplate.xtmpl','bluemarine','theme','themes/engines/xtemplate/xtemplate.engine',1,0,0);
 INSERT INTO system VALUES ('themes/engines/xtemplate/xtemplate.engine','xtemplate','theme_engine','',1,0,0);
 
-INSERT INTO variable(name,value) VALUES('update_start', 's:10:"2004-10-16";');
+INSERT INTO variable(name,value) VALUES('update_start', 's:10:"2004-10-18";');
 INSERT INTO variable(name,value) VALUES('theme_default','s:10:"bluemarine";');
 INSERT INTO users(uid,name,mail) VALUES(0,'','');
 INSERT INTO users_roles(uid,rid) VALUES(0, 1);
diff --git a/database/updates.inc b/database/updates.inc
index 396000c8060f27ddc0c68d3641136aefaf392755..6c2a64e189992249a2313afa318eb19b3ef33cae 100644
--- a/database/updates.inc
+++ b/database/updates.inc
@@ -84,7 +84,8 @@
   "2004-09-14" => "update_105",
   "2004-09-15" => "update_106",
   "2004-09-17" => "update_107",
-  "2004-10-16" => "update_108"
+  "2004-10-16" => "update_108",
+  "2004-10-18" => "update_109"
 );
 
 function update_32() {
@@ -1882,6 +1883,7 @@ function update_107() {
 }
 
 function update_108() {
+  $ret = array();
   // This update is needed for 4.5-RC sites, where profile data was not being
   // wiped from the user->data column correctly because update_80() was faulty.
   if (!variable_get('update_80_fix', false)) {
@@ -1899,8 +1901,27 @@ function update_108() {
       user_save($user, $unset);
     }
   }
+  return $ret;
+}
+
+
+function update_109() {
+  $ret = array();
+  // This is to fix the PostreSQL locales_source table.
+  if ($GLOBALS['db_type'] == 'pgsql') {
+    $ret[] = update_sql("ALTER TABLE {locales_source} RENAME location TO old_location");
+    $ret[] = update_sql("ALTER TABLE {locales_source} ADD COLUMN location text");
+    db_query("UPDATE {locales_source} SET location = old_location");
+    $ret[] = update_sql("ALTER TABLE {locales_source} ALTER COLUMN location SET NOT NULL");
+    $ret[] = update_sql("ALTER TABLE {locales_source} ALTER COLUMN location SET DEFAULT ''");
+    $ret[] = update_sql("ALTER TABLE {locales_target} DROP CONSTRAINT {locales_target}_locale_key ");
+    $ret[] = update_sql("ALTER TABLE {locales_target} DROP CONSTRAINT {locales_target}_plid_key ");
+    $ret[] = update_sql("ALTER TABLE {locales_target} DROP CONSTRAINT {locales_target}_plural_key ");
+  }
+  return $ret;
 }
 
+
 function update_sql($sql) {
   $edit = $_POST["edit"];
   $result = db_query($sql);
diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 593a4c29fd7f0ac3aed1c73ca98b62e15e012fa1..3712607d621f3e4d5886ce7bca4492208cbed151 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -382,7 +382,7 @@ function request_uri() {
       $uri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
     }
   }
-  
+
   return check_url($uri);
 }