Ejemplo n.º 1
0
    def query_eachdb(self, sql, exclude=None):
        """ execure query on each database of the cluster
        Params:
            sql (string): query text
            exclude (list of strings): database names to exclude
        Out:
            { dbname: query_result, ...  }
        """

        connect_dict = {
            'host': self.config.get('host', None),  # none = connect via socket
            'user': self.config.get('user', 'postgres'),
            'password': self.config.get('password', None),
            'database': self.config.get('database', 'postgres')
        }

        ret = {}
        if not self.dbs:
            self.get_dblist()
        for db in self.dbs:  # pylint: disable-msg=C0103
            if db in exclude:
                continue
            connect_dict['database'] = db
            pdb = PgConn(connect_dict, self.logger)
            ret[db] = pdb.query(sql)
        return ret
Ejemplo n.º 2
0
 def _myinit(self):
     connect_dict = {
         'host': self.config.get('host', None),  # none = connect via socket
         'user': self.config.get('user', 'postgres'),
         'password': self.config.get('password', None),
         'database': self.config.get('database', 'postgres')
     }
     self.dbconn = PgConn(connect_dict, self.logger)
Ejemplo n.º 3
0
    def get_dblist(self):
        """ Get list of all databases

        Returns: list of strings - names of all databases of postgresql
            cluster
        """
        connect_dict = {
            'host': self.config.get('host', None),  # none = connect via socket
            'user': self.config.get('user', 'postgres'),
            'password': self.config.get('password', None),
            'database': self.config.get('database', 'postgres')
        }
        db = PgConn(connect_dict, self.logger)  # pylint: disable-msg=C0103
        dbs = db.query("SELECT datname FROM pg_database")
        self.dbs = [x[0] for x in dbs]