Beispiel #1
0
    def getSegHostNames(self):
        
        (ok, out) = psql.run(flag='-q -t', cmd="select distinct hostname from gp_segment_configuration where role = 'p' order by hostname;", ofile='-', dbname='template1') 

        if not ok:
            sys.exit('Unable to select gp_segment_configuration')
        hostlist = psql.list_out(out)
        return hostlist
Beispiel #2
0
 def isMasterMirrorSynchronized(self):
     (ok, out) = psql.run(dbname='template1',
              cmd='select summary_state from gp_master_mirroring',
              ofile='-',
              flag='-q -t')
     if ok:
         for line in out:
             line = line.strip()
             if line == 'Synchronized':
                 return True
     return False
Beispiel #3
0
 def fill(self):
     self.record = []
     # Use psql to get gp_configuration instead of pyODB
     # Bug: Solaris pyODB, -1 is 4294967295 
     #(ok, out) = psql.run(flag = '-q -t', cmd = 'select dbid, content, role, preferred_role, mode, status, hostname, address, port, fselocation as datadir, replication_port, san_mounts from gp_segment_configuration LEFT JOIN pg_catalog.pg_filespace_entry on (dbid = fsedbid) LEFT JOIN pg_catalog.pg_filespace fs on (fsefsoid = fs.oid and fsname=\'pg_system\') ORDER BY content, preferred_role', ofile = '-', isODBC = False, dbname='template1') 
 
     # Anu : commented out the above query since it was returning the full config of the system (including the filespace entry) Hence changed the query to return only the cluster configuration
     #(ok, out) = psql.run(flag='-q -t', cmd='select dbid, content, role, preferred_role, mode, status, hostname, address, port, fselocation as datadir, replication_port, san_mounts from gp_segment_configuration, pg_filespace_entry, pg_catalog.pg_filespace fs where fsefsoid = fs.oid and fsname=\'pg_system\' and gp_segment_configuration.dbid=pg_filespace_entry.fsedbid ORDER BY content, preferred_role', ofile='-',dbname='template1') 
     (ok, out) = psql.run(flag='-q -t', cmd='select role, status, hostname, address, port from gp_segment_configuration ORDER by role;', ofile='-',  dbname='template1')
     if not ok:
         sys.exit('Unable to select gp_segment_configuration')
     for line in out:
         if line.find("NOTICE") < 0:
             line = line.strip()
             if line:
                 self.record.append(Config.Record(line))
Beispiel #4
0
 def getCountSegments(self):
     (ok, out) = psql.run(dbname='template1', cmd="select count(*) from gp_segment_configuration where role = 'p';",
                          ofile='-', flag='-q -t')
     for line in out:
         return line