Python
更新時間:
本文介紹如何通過Python連接AnalyticDB PostgreSQL版數據庫。
前提條件
已獲取AnalyticDB PostgreSQL版實例的連接地址。
如果您的客戶端部署在與AnalyticDB PostgreSQL版實例在同一地域且網絡類型相同的ECS上,則可以使用內網地址進行連接。登錄云原生數據倉庫AnalyticDB PostgreSQL版控制臺。在基本信息頁面的數據庫連接信息區域,即可查看內網地址。
如果您的客戶端部署在與AnalyticDB PostgreSQL版實例在不同地域或網絡類型不同的ECS或者阿里云以外的系統上,則需要申請外網地址后使用外網地址進行連接。申請外網地址的方法,請參見管理外網地址。
已獲取客戶端的IP地址,并將客戶端地址加入AnalyticDB PostgreSQL版實例白名單中。具體操作,請參見設置白名單。
操作步驟
Python連接Greenplum和PostgreSQL時使用psycopg2工具。
安裝psycopg2。在CentOS系統,安裝方法有如下三種:
執行如下命令:
yum -y install python-psycopg2
執行如下命令:
pip install psycopg2
從源碼安裝:
yum install -y postgresql-devel* wget http://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.tar.gz tar xf psycopg2-2.6.tar.gz cd psycopg2-2.6 python setup.py build sudo python setup.py install
psycopg2安裝完成后,需要設置PYTHONPATH環境變量,設置完成后即可引用該變量。環境變量設置如下:
import psycopg2 //SQL語句。 sql = '<SELECT * FROM gp_segment_configuration;>' //數據庫連接信息,分別為數據庫名、用戶名、用戶密碼。 conn = psycopg2.connect(database='<gpdb>', user='<mygpdb>', password='<mygpdb>', host='mygpdbpub.gpdb.rds.aliyuncs.com', port=5432) conn.autocommit = True cursor = conn.cursor() cursor.execute(sql) rows = cursor.fetchall() for row in rows: print row conn.commit() conn.close()
完成后會返回結果示例如下:
(1, -1, 'p', 'p', 's', 'u', 3022, '192.168.2.158', '192.168.2.158', None, None) (6, -1, 'm', 'm', 's', 'u', 3019, '192.168.2.47', '192.168.2.47', None, None) (2, 0, 'p', 'p', 's', 'u', 3025, '192.168.2.148', '192.168.2.148', 3525, None) (4, 0, 'm', 'm', 's', 'u', 3024, '192.168.2.158', '192.168.2.158', 3524, None) (3, 1, 'p', 'p', 's', 'u', 3023, '192.168.2.158', '192.168.2.158', 3523, None) (5, 1, 'm', 'm', 's', 'u', 3026, '192.168.2.148', '192.168.2.148', 3526, None)
文檔內容是否對您有幫助?