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。
更多信息请关注公众号:「软件老王」,关注不迷路,IT技术与相关干货分享,回复关键字获取对应干货,本文版权归作者软件老王所有,转载需注明作者、超链接,否则保留追究法律责任的权利。