--- mailman_manager.install.old	2007-02-25 17:13:10.000000000 +1300
+++ mailman_manager.install	2007-02-25 20:55:28.000000000 +1300
@@ -5,31 +5,45 @@
   switch ($GLOBALS['db_type']) {
     case 'mysql':
     case 'mysqli':
-	db_query("CREATE TABLE `mailman_lists` (
-		`lid` tinyint(3) unsigned NOT NULL auto_increment,
-  		`name` varchar(48) NOT NULL default '',
-  		`command` varchar(72) NOT NULL default '',
-		`admin` varchar(48) default '',
-		`web` varchar(255) default '',
-		`webarch` varchar(255) default '',
-  		PRIMARY KEY  (`lid`)
+	db_query("CREATE TABLE mailman_lists (
+		lid tinyint(3) unsigned NOT NULL auto_increment,
+  		name varchar(48) NOT NULL default '',
+  		command varchar(72) NOT NULL default '',
+		admin varchar(48) default '',
+		web varchar(255) default '',
+		webarch varchar(255) default '',
+  		PRIMARY KEY  (lid)
 	)");
 
-	db_query("CREATE TABLE `mailman_users` (
-  		`uid` int(10) NOT NULL default '0',
-  		`lid` int(10) NOT NULL default '0',
-  		`lstatus` int(10) NOT NULL default '0',
-		`lmail` varchar(36) NOT NULL default '',
-  		`lpass` varchar(36) NOT NULL default '',
-		PRIMARY KEY  (`uid`,`lid`)
+	db_query("CREATE TABLE {mailman_users} (
+  		uid int(10) NOT NULL default '0',
+  		lid int(10) NOT NULL default '0',
+  		lstatus int(10) NOT NULL default '0',
+		lmail varchar(36) NOT NULL default '',
+  		lpass varchar(36) NOT NULL default '',
+		PRIMARY KEY  (uid,lid)
 	)");
     break;
  
     case 'pgsql':
+	db_query("CREATE TABLE {mailman_lists} (
+		lid SERIAL NOT NULL,
+  		name text NOT NULL default '',
+  		command text NOT NULL default '',
+		admin text default '',
+		web text default '',
+		webarch text default '',
+  		PRIMARY KEY  (lid)
+	)");
 
-      // Pgsql requires keys and indexes to be defined separately.
-      // It's important to name the index as {tablename}_fieldname_idx
-      // (the trailing _idx!) so update scripts can be written easily
+	db_query("CREATE TABLE {mailman_users} (
+  		uid integer NOT NULL default 0,
+  		lid integer NOT NULL default 0,
+  		lstatus integer NOT NULL default 0,
+		lmail text NOT NULL default '',
+  		lpass text NOT NULL default '',
+		PRIMARY KEY  (uid, lid)	
+		)");
   }
 }
 
@@ -39,6 +53,16 @@
  
     switch ($GLOBALS['db_type']) { 
     case 'pgsql': 
+
+        // Add web links:
+        $ret[] = update_sql("ALTER TABLE {mailman_lists} ADD COLUMN web TEXT");
+	$ret[] = update_sql("ALTER TABLE {mailman_lists} ALTER COLUMN web SET DEFAULT ''"); 
+
+        $ret[] = update_sql("ALTER TABLE {mailman_lists} ADD COLUMN webarch text"); 
+        $ret[] = update_sql("ALTER TABLE {mailman_lists} ALTER COLUMN webarch SET DEFAULT ''"); 
+
+        // Admin is text, not varchar, so it doesn't need patching
+
         break; 
  
     case 'mysql': 
@@ -54,4 +78,4 @@
     return $ret; 
 } 
 
-?>
\ No newline at end of file
+?>
