码迷,mamicode.com
首页 > 数据库 > 详细

python连接greenplum_postgresql

时间:2019-07-13 23:57:48      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:DBName   数据库   dbn   取数   from   params   blog   获取   连接   

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。


python连接greenplum_postgresql

标签:DBName   数据库   dbn   取数   from   params   blog   获取   连接   

原文地址:https://www.cnblogs.com/ruanjianlaowang/p/11182634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!