diff -uw /home/roland/tools/src/feedparser/feedaggregator_node.install feedparser/feedaggregator_node.install
--- /home/roland/tools/src/feedparser/feedaggregator_node.install	2007-02-14 13:38:09.000000000 -0500
+++ feedparser/feedaggregator_node.install	2007-02-23 10:02:17.000000000 -0500
@@ -18,13 +18,36 @@
 			INDEX (`guid`)
 			) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;");
 			break;
+		case 'pgsql':
+		        // INT and INT(N) are not standard SQL datatypes, so I have not tried
+			// to understand the intent.  PostgreSQL accepts INT, but if the intent
+			// was to have a specific number of digits, then the DECIMAL type is 
+			db_query("
+			CREATE TABLE {aggregator_node} (
+			iid INT NOT NULL ,
+			nid INT NOT NULL ,
+			fid INT NOT NULL ,
+			link VARCHAR(255) NOT NULL,
+			guid VARCHAR(255),
+			PRIMARY KEY (iid),
+			);");
+			db_query("CREATE INDEX aggregator_node_nid_index ON aggregator_node(nid);");
+			db_query("CREATE INDEX aggregator_node_fid_index ON aggregator_node(fid);");
 	}
 }
 
 
 function feedaggregator_node_update_1() {
   $ret = array();
+  switch ($GLOBALS['db_type']) {
+	case 'mysqli':
+	case 'mysql':
   $ret[] = update_sql("ALTER TABLE {aggregator_node} ADD INDEX ( `nid` )");
+	    break;
+	case 'pgsql':
+	    $ret[] = update_sql("CREATE INDEX {aggregator_node}_nid_index on {aggregator_node}(nid)");
+	    break;
+  }
   return $ret;
 }
 
@@ -42,8 +65,15 @@
   }
 
   // Index the new GUID column
+  switch ($GLOBALS['db_type']) {
+	case 'mysqli':
+	case 'mysql':
   $ret[] = update_sql("ALTER TABLE {aggregator_node} ADD INDEX ( guid )");
   $ret[] = update_sql("OPTIMIZE TABLE {aggregator_node}");
+          break;
+        case 'pgsql':
+	  $ret[] = update_sql("CREATE INDEX {aggregator_node}_guid_index on {aggregator_node}(guid)");
+	  break;
 
   watchdog('aggregator', t('Generated %count node guids', array('%count' => $item_count)) );
 
Only in feedparser: feedaggregator_node.install.~1~
diff -uw /home/roland/tools/src/feedparser/feedaggregator_node.module feedparser/feedaggregator_node.module
--- /home/roland/tools/src/feedparser/feedaggregator_node.module	2007-02-13 19:39:30.000000000 -0500
+++ feedparser/feedaggregator_node.module	2007-02-23 10:05:13.000000000 -0500
@@ -132,7 +132,7 @@
 
 
 function feedaggregator_node_insert($node) {
-  db_query("INSERT INTO {aggregator_node} SET iid = %d, nid = %d, fid = %d, link = '%s', guid = '%s'", $node->iid, $node->nid, $node->fid, $node->link, $node->guid);
+  db_query("INSERT INTO {aggregator_node} (iid, nid, fid, link, guid) VALUES (%d, %d, %d, '%s', '%s')", $node->iid, $node->nid, $node->fid, $node->link, $node->guid);
 }
 
 
Only in feedparser: feedaggregator_node.module.~1~
diff -uw /home/roland/tools/src/feedparser/feedmanager.install feedparser/feedmanager.install
--- /home/roland/tools/src/feedparser/feedmanager.install	2007-02-13 19:39:30.000000000 -0500
+++ feedparser/feedmanager.install	2007-02-23 09:50:50.000000000 -0500
@@ -119,15 +119,15 @@
       )");
       db_query("CREATE INDEX {aggregator_item}_fid_idx ON {aggregator_item} (fid)");
 
-      // Uninstall aggregator.module
-      db_query("UPDATE {system} SET status = 0 WHERE name = 'aggregator'");
+      db_query("CREATE SEQUENCE feedparser_iid_seq");
 
       // Update existing tables
-      db_query('ALTER TABLE {aggregator_feed} DROP KEY link');
-      db_query('ALTER TABLE {aggregator_feed} CHANGE url url TEXT NOT NULL');
-      db_query('ALTER TABLE {aggregator_feed} ADD expires INT (10) AFTER block');
-      db_query('ALTER TABLE {aggregator_feed} ADD data LONGTEXT AFTER expires');
-      db_query('ALTER TABLE {aggregator_feed} DROP INDEX title');
+      db_query('ALTER TABLE {aggregator_feed} DROP CONSTRAINT aggregator_feed_link_key');
+      db_query('ALTER TABLE {aggregator_feed} ALTER url type TEXT');
+      db_query("ALTER TABLE {aggregator_feed} ALTER url set default ''");
+      db_query('ALTER TABLE {aggregator_feed} ADD expires INT');
+      db_query('ALTER TABLE {aggregator_feed} ADD data TEXT');
+      db_query('ALTER TABLE {aggregator_feed} DROP CONSTRAINT aggregator_feed_title_key');
       break;
     }
 
@@ -159,6 +159,12 @@
       break;
 
     case 'pgsql':
+      $ret[] = db_query('ALTER TABLE {aggregator_feed} DROP CONSTRAINT aggregator_feed_link_key');
+      $ret[] = db_query('ALTER TABLE {aggregator_feed} ALTER url type TEXT');
+      $ret[] = db_query("ALTER TABLE {aggregator_feed} ALTER url set default ''");
+      $ret[] = db_query('ALTER TABLE {aggregator_feed} ADD expires INT');
+      $ret[] = db_query('ALTER TABLE {aggregator_feed} ADD data TEXT');
+      $ret[] = db_query('ALTER TABLE {aggregator_feed} DROP CONSTRAINT aggregator_feed_title_key');
       break;
   }
   return $ret;
Only in feedparser: feedmanager.install.~1~
Common subdirectories: /home/roland/tools/src/feedparser/images and feedparser/images
