postgres 8.4 replaces pg_autovacuum system table with reloptions on the tables themse...
authorRobert Treat <robert@robert-treats-macbook.local>
Thu, 19 Feb 2009 16:29:48 +0000 (11:29 -0500)
committerRobert Treat <robert@robert-treats-macbook.local>
Thu, 19 Feb 2009 16:29:48 +0000 (11:29 -0500)
classes/database/Postgres.php
classes/database/Postgres80.php
classes/database/Postgres83.php
database.php

index e0a0108e7525ee0384ec2cef8cb24760830f70f5..e459f7f6f5018f3fcc24594a14c286dc4571b517 100755 (executable)
@@ -7480,6 +7480,7 @@ class Postgres extends ADODB_base {
        function hasAlterTrigger() { return true; }
        function hasAnalyze() { return true; }
        function hasAutovacuum() { return true; }
+       function hasAutovacuumSysTable() { return false; }
        function hasCasts() { return true; }
        function hasCompositeTypes() { return true; }
        function hasConstraintsInfo() { return true; }
index 1e1d6ce9f0c422270f3d5a7a5574d9bee6c9c3a5..0cb4263b677fb3b354ce8caf823fca4f8d79ab16 100644 (file)
@@ -318,6 +318,7 @@ class Postgres80 extends Postgres81 {
        function hasAggregateSortOp() { return false; }
        function hasAlterTableSchema() { return false; }
        function hasAutovacuum() { return false; }
+       function hasAutovacuumSysTable() { return false; }
        function hasDisableTriggers() { return false; }
        function hasFunctionAlterSchema() { return false; }
        function hasPreparedXacts() { return false; }
index 49f704c9a204d78fc8fc832a241e96bbd4838e9c..f8e3a505d0fbff4abbc1bc0843c20139861f8a3d 100644 (file)
@@ -26,6 +26,9 @@ class Postgres83 extends Postgres {
                include_once('./help/PostgresDoc83.php');
                return $this->help_page;
        }
+
+       function hasAutovacuumSysTable() { return true; }
+
 }
 
 ?>
index c730a0ad1b1a4f6e3c6ba778f6ac4f3a312f9a37..789ef23a62027806f91fffbe52501b7f12918732 100755 (executable)
                                        $enabled = $data->getVariable('autovacuum');
                                        echo "<h3>{$lang['strautovacuum']}</h3>";
                                        echo '<p>' . (($enabled->fields['autovacuum'] == 'on') ? $lang['strturnedon'] : $lang['strturnedoff'] ) . '</p>';
-                                       // Fetch the processes from the database
-                                       $autovac = $data->getAutovacuum();
-               
-                                       $columns = array(
-                                               'namespace' => array(
-                                                       'title' => $lang['strschema'],
-                                                       'field' => field('nspname'),
-                                               ),      
-                                               'relname' => array(
-                                                       'title' => $lang['strtable'],
-                                                       'field' => field('relname'),
-                                               ),
-                                               'enabled' => array(
-                                                       'title' => $lang['strenabled'],
-                                                       'field' => field('enabled'),
-                                               ),
-                                               'vac_base_thresh' => array(
-                                                       'title' => $lang['strvacuumbasethreshold'],
-                                                       'field' => field('vac_base_thresh'),
-                                               ),
-                                               'vac_scale_factor' => array(
-                                                       'title' => $lang['strvacuumscalefactor'],
-                                                       'field' => field('vac_scale_factor'),
-                                               ),
-                                               'anl_base_thresh' => array(
-                                                       'title' => $lang['stranalybasethreshold'],
-                                                       'field' => field('anl_base_thresh'),
-                                               ),
-                                               'anl_scale_factor' => array(
-                                                       'title' => $lang['stranalyzescalefactor'],
-                                                       'field' => field('anl_scale_factor'),
-                                               ),
-                                               'vac_cost_delay' => array(
-                                                       'title' => $lang['strvacuumcostdelay'],
-                                                       'field' => field('vac_cost_delay'),
-                                               ),
-                                               'vac_cost_limit' => array(
-                                                       'title' => $lang['strvacuumcostlimit'],
-                                                       'field' => field('vac_cost_limit'),
-                                               ),
-                                       );
 
-                                       // Maybe we need to check permissions here?
-                                       $columns['actions'] = array('title' => $lang['stractions']);
+                                       if($data->hasAutovacuumSysTable()) {
+
+                                               // Fetch the processes from the database
+                                               $autovac = $data->getAutovacuum();
+               
+                                               $columns = array(
+                                                       'namespace' => array(
+                                                               'title' => $lang['strschema'],
+                                                               'field' => field('nspname'),
+                                                       ),      
+                                                       'relname' => array(
+                                                               'title' => $lang['strtable'],
+                                                               'field' => field('relname'),
+                                                       ),
+                                                       'enabled' => array(
+                                                               'title' => $lang['strenabled'],
+                                                               'field' => field('enabled'),
+                                                       ),
+                                                       'vac_base_thresh' => array(
+                                                               'title' => $lang['strvacuumbasethreshold'],
+                                                               'field' => field('vac_base_thresh'),
+                                                       ),
+                                                       'vac_scale_factor' => array(
+                                                               'title' => $lang['strvacuumscalefactor'],
+                                                               'field' => field('vac_scale_factor'),
+                                                       ),
+                                                       'anl_base_thresh' => array(
+                                                               'title' => $lang['stranalybasethreshold'],
+                                                               'field' => field('anl_base_thresh'),
+                                                       ),
+                                                       'anl_scale_factor' => array(
+                                                               'title' => $lang['stranalyzescalefactor'],
+                                                               'field' => field('anl_scale_factor'),
+                                                       ),
+                                                       'vac_cost_delay' => array(
+                                                               'title' => $lang['strvacuumcostdelay'],
+                                                               'field' => field('vac_cost_delay'),
+                                                       ),
+                                                       'vac_cost_limit' => array(
+                                                               'title' => $lang['strvacuumcostlimit'],
+                                                               'field' => field('vac_cost_limit'),
+                                                       ),
+                                               );
+
+                                               // Maybe we need to check permissions here?
+                                               $columns['actions'] = array('title' => $lang['stractions']);
+
+                                               $actions = array(
+                                                       'edit' => array(
+                                                       'title' => $lang['stredit'],
+                                                       'url'   => "database.php?action=editautovac&amp;schema=pg_catalog&amp;{$misc->href}&amp;",
+                                                       'vars'  => array('key[vacrelid]' => 'vacrelid')
+                                                       ),
+                                                       'delete' => array(
+                                                       'title' => $lang['strdelete'],
+                                                       'url'   => "database.php?action=delautovac&amp;{$misc->href}&amp;",
+                                                       'vars'  => array('key[vacrelid]' => 'vacrelid')
+                                                       )
+                                               );
+
+                                               $misc->printTable($autovac, $columns, $actions, $lang['strnodata']);
+       
+                                       }
 
-                                       $actions = array(
-                                               'edit' => array(
-                                               'title' => $lang['stredit'],
-                                               'url'   => "database.php?action=editautovac&amp;schema=pg_catalog&amp;{$misc->href}&amp;",
-                                               'vars'  => array('key[vacrelid]' => 'vacrelid')
-                                               ),
-                                               'delete' => array(
-                                               'title' => $lang['strdelete'],
-                                               'url'   => "database.php?action=delautovac&amp;{$misc->href}&amp;",
-                                               'vars'  => array('key[vacrelid]' => 'vacrelid')
-                                               )
-                                       );
-
-                                       $misc->printTable($autovac, $columns, $actions, $lang['strnodata']);
                                }
-                                       
+       
                                break;
                }
        }