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。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM