zoukankan      html  css  js  c++  java
  • python连接greenplum_postgresql

    1. 场景描述

    使用python连接greenplum或者postgresql。

    2. 解决方案

    2.1 真实代码

    2.1.1 调用类
    import dbgp as dbgp
    
    # 执行
    def execGP(params):
        sql = params.get("sql")
        # 从数据库获取数据
        try:
            data = dbgp.queryGp(sql)
        except IndexError:
            return sql
        except KeyError:
            return sql
        except ValueError:
            return sql
        except Exception:
            return sql
            
        if data.empty:
            return "exception:无数据,请确认后重试"
    
    if __name__ == '__main__':
        paramss = dict(
            sql="select COALESCE(empno,0) as empno,COALESCE(mgr,0) as mgr from test_emp")
        execGP(paramss)
    
    2.1.2 Gp数据库连接类
    import psycopg2
    
    def queryGp(sql):
        ## 连接到一个给定的数据库
        conn = psycopg2.connect(dbname="db-laowang", user="laowang", password="laowang123",port="5432", host="10.192.168.10", client_encoding="UTF-8")
    
        df = pd.read_sql(sql, con=conn)
        ## 关闭数据库连接
        conn.close()
        return df
    

    2.2 代码说明

    (1)调用类中异常的返回比较特殊,只指定Exception的话,其他的几种异常还捕获不到。

    (2)psycopg2的安装就不再特别说明了,有网络的话可以直接在线安装,无网络的话可以参考下我的另一篇博客(python无网安装psycopg2)。

    (3)数据库的连接配置适用于Greenplum和postgresql。


  • 相关阅读:
    RHEL7管道与重定向
    RHEL7软件包管理
    RHEL7用户管理
    RHEL7文件管理
    RHEL7文件查找
    RHEL7文件权限
    RHEL7文件归档与压缩
    RHEL7进程管理
    博客园样式美化
    flask+python页面修改密码功能
  • 原文地址:https://www.cnblogs.com/ruanjianlaowang/p/11182634.html
Copyright © 2011-2022 走看看