diff -urp localizer/localizer.install localizer-patched/localizer.install
--- localizer/localizer.install	Sun Jan  6 09:45:10 2008
+++ localizer-patched/localizer.install	Tue Jan  8 11:49:00 2008
@@ -66,9 +66,28 @@ function localizer_update_4() {
 
   $items = array();
   $items[] = update_sql("DELETE FROM {variable} WHERE name LIKE 'localizer%'");
-  $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE locale language VARCHAR(10)");
-  $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE object_name object_name VARCHAR(700)");
-  $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE translation translation VARCHAR(700)");
+  switch ($GLOBALS['db_type']) {
+  case 'mysql':
+  case 'mysqli':
+    $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE locale language VARCHAR(10)");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE object_name object_name VARCHAR(700)");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} CHANGE translation translation VARCHAR(700)");
+  break;
+  case 'pgsql':
+    $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN locale TO language");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN object_name TO object_name_old");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} ADD COLUMN object_name VARCHAR(700)");
+    $items[] = update_sql("UPDATE {localizertranslation} SET object_name = CAST(object_name_old AS VARCHAR(700))");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} ALTER COLUMN object_name SET NOT NULL");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} DROP COLUMN object_name_old;");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} RENAME COLUMN translation TO translation_old");   
+    $items[] = update_sql("ALTER TABLE {localizertranslation} ADD COLUMN translation VARCHAR(700)");
+    $items[] = update_sql("UPDATE {localizertranslation} SET translation = CAST(translation_old AS VARCHAR(700))");
+    $items[] = update_sql("ALTER TABLE {localizertranslation} ALTER COLUMN translation SET NOT NULL");   
+    $items[] = update_sql("ALTER TABLE {localizertranslation} DROP COLUMN translation_old");
+  break;
+  }
+
   $items[] = update_sql("UPDATE {system} SET filename='modules/block/block.module' WHERE name LIKE 'block'");
   $items[] = update_sql("UPDATE {system} SET weight = -10 WHERE name = 'localizer'");
   return $items;
diff -urp localizer/modules/localizernode.install localizer-patched/modules/localizernode.install
--- localizer/modules/localizernode.install	Fri Jan  4 09:40:42 2008
+++ localizer-patched/modules/localizernode.install	Tue Jan  8 11:47:00 2008
@@ -30,9 +30,21 @@ function localizernode_install() {
 
 function localizernode_update_1() {
   $items = array();
-  $items[] = update_sql("ALTER TABLE {localizernode} CHANGE locale language VARCHAR(10)");
-  $items[] = update_sql("ALTER TABLE {localizernode} DROP INDEX localizernode_idx2");
-  $items[] = update_sql("ALTER TABLE {localizernode} ADD UNIQUE KEY localizernode_idx2 (language,pid)");
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $items[] = update_sql("ALTER TABLE {localizernode} CHANGE locale language VARCHAR(10)");
+      $items[] = update_sql("ALTER TABLE {localizernode} DROP INDEX localizernode_idx2");
+      $items[] = update_sql("ALTER TABLE {localizernode} ADD UNIQUE KEY localizernode_idx2 (language,pid)");
+    break;
+    case 'pgsql':
+      $items[] = update_sql("ALTER TABLE {localizernode} RENAME COLUMN locale TO language");
+      $items[] = update_sql("DROP INDEX localizernode_pid_index");
+      $items[] = update_sql("CREATE INDEX localizernode_pid_index ON {localizernode} (pid)");
+    break;
+  }
+
+
   return $items;
 }
 
diff -urp localizer/modules/localizeruser.install localizer-patched/modules/localizeruser.install
--- localizer/modules/localizeruser.install	Fri Jan  4 09:41:46 2008
+++ localizer-patched/modules/localizeruser.install	Tue Jan  8 11:57:00 2008
@@ -21,7 +21,15 @@ function localizeruser_install() {
 
 function localizeruser_update_1() {
   $items = array();
-  $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE nodeslocale nodeslocales VARCHAR(100)");
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE nodeslocale nodeslocales VARCHAR(100)");
+    break;
+    case 'pgsql':
+      $items[] = update_sql("ALTER TABLE {localizeruser} RENAME COLUMN nodeslocale TO nodeslocales");
+    break;
+  }
   return $items;
 }
 
@@ -41,13 +49,29 @@ function localizeruser_update_2() {
 
 function localizeruser_update_3() {
   $items = array();
-  $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE nodeslocales contentlocales VARCHAR(100)");
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE nodeslocales contentlocales VARCHAR(100)");
+    break;
+    case 'pgsql':
+      $items[] = update_sql("ALTER TABLE {localizeruser} RENAME COLUMN nodeslocales TO contentlocales");
+    break;
+  }
   return $items;
 }
 
 function localizeruser_update_4() {
   $items = array();
-  $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE contentlocales contentlanguages VARCHAR(100)");
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      $items[] = update_sql("ALTER TABLE {localizeruser} CHANGE contentlocales contentlanguages VARCHAR(100)");
+    break;
+    case 'pgsql':
+      $items[] = update_sql("ALTER TABLE {localizeruser} RENAME COLUMN contentlocales TO contentlanguages");
+    break;
+  }
   $items[] = update_sql("ALTER TABLE {localizeruser} DROP switch_uicontent");
   return $items;
 }
