283
阿裏雲
連接數據庫實例__快速入門_雲數據庫 HybridDB-阿裏雲
雲數據庫HybridDB(ApsaraDB HybridDB)是一種在線MPP大規模並行處理數據倉庫服務。雲數據庫HybridDB基於Greenplum Database開源數據庫項目,並由阿裏雲深度擴展支持OSS存儲、JSON數據類型、HyperLogLog預估分析等功能特性。
Greenplum Database開源數據庫(下稱GP)基於PostgreSQL 8.3(下稱PG、PGSQL)分支開發,完整兼容其消息協議,雲數據庫HybridDB同樣基於此版本。因此,理論上來講,支持PGSQL 8.3消息協議的工具(包括如libpq、JDBC、ODBC、psycopg2、pgadmin III等)可以直接作用到GP。
GP官網提供了一個安裝包,包含了JDBC、ODBC和libpq,方便安裝和使用。請參考官方文檔
PSQL
PSQL是GP中比較常用的工具,提供了豐富的命令,其二進製文件在GP安裝後的BIN目錄下。可以通過兩種方式進行連接:
- 連接串的方式
psql "host=yourgpdbaddress.gpdb.rds.aliyuncs.com port=3568 dbname=postgres user=gpdbaccount password=gpdbpassword"postgres=> select version();version-----------------------------------------------------------------------------------------------PostgreSQL 8.3devel (Greenplum Database 4.3.99.00 build dev) compiled on Jun 26 2016 23:44:59(1 row)
- 參數指定的方式
psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3568 -d postgres -U gpdbaccount
之後輸入密碼,進到PSQL的shell界麵。
postgres=> select version();version-----------------------------------------------------------------------------------------------PostgreSQL 8.3devel (Greenplum Database 4.3.99.00 build dev) compiled on Jun 26 2016 23:44:59(1 row)
其中,“-h”指定主機地址,“-p”指定端口號,“-d“指定數據庫(默認的數據庫是postgres),“-U”指定連接的用戶。更多選項,通過“psql —help”可以看到。在psql中,可以執行”?”查看更多psql中支持的命令。
GP的PSQL的更多使用方法,請參考。
也可以使用PG的PSQL命令,請注意使用細節上的差異。參考。
pgAdmin III是圖形客戶端,相對簡單,請參考或中文版。
JDBC
JDBC采用PG的即可。PostgreSQL的官方JDBC可以在這裏下載到,下載之後加入到環境變量中。也可以采用Greenplum官網提供的工具包,請參考官方文檔。
代碼案例:
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class gp_conn {public static void main(String[] args) {try {Class.forName("org.postgresql.Driver");Connection db = DriverManager.getConnection("jdbc:postgresql://mygpdbpub.gpdb.rds.aliyuncs.com:3568/postgres","mygpdb","mygpdb");Statement st = db.createStatement();ResultSet rs = st.executeQuery("select * from gp_segment_configuration;");while (rs.next()) {System.out.print(rs.getString(1));System.out.print(" | ");System.out.print(rs.getString(2));System.out.print(" | ");System.out.print(rs.getString(3));System.out.print(" | ");System.out.print(rs.getString(4));System.out.print(" | ");System.out.print(rs.getString(5));System.out.print(" | ");System.out.print(rs.getString(6));System.out.print(" | ");System.out.print(rs.getString(7));System.out.print(" | ");System.out.print(rs.getString(8));System.out.print(" | ");System.out.print(rs.getString(9));System.out.print(" | ");System.out.print(rs.getString(10));System.out.print(" | ");System.out.println(rs.getString(11));}rs.close();st.close();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}}
詳細文檔請參考。
Python
Python連接GP和PG用的庫是psycopg2。在CentOS下的安裝方法很簡單:
yum -y install python-psycopg2或者pip install psycopg2
或者從源碼安裝
yum install -y postgresql-devel*wget https://initd.org/psycopg/tarballs/PSYCOPG-2-6/psycopg2-2.6.tar.gztar xf psycopg2-2.6.tar.gzcd psycopg2-2.6python setup.py buildsudo python setup.py install
安裝後,設置PYTHONPATH,之後就可以引用,如:
import psycopg2sql = 'select * from gp_segment_configuration;'conn = psycopg2.connect(database='gpdb', user='mygpdb', password='mygpdb', host='mygpdbpub.gpdb.rds.aliyuncs.com', port=3568)conn.autocommit = Truecursor = conn.cursor()cursor.execute(sql)rows = cursor.fetchall()for row in rows:print rowconn.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)
ODBC
PostgreSQL的ODBC是以LGPL協議開源的版本,可以在這裏下載到。
也可以參考德哥的博客,裏麵有更詳細的方法和案例。
libpq
libpq是PostgreSQL原生支持用於連接PG的C庫。在安裝了GP或者PG之後,在其lib目錄下可以找到其的靜態庫和動態庫。這裏有很多例子,此處不再列舉。
參考
最後更新:2016-12-01 11:07:40
上一篇:
用戶權限管理__快速入門_雲數據庫 HybridDB-阿裏雲
下一篇:
插件管理__快速入門_雲數據庫 HybridDB-阿裏雲
Python SDK實例程序__最佳實踐_歸檔存儲-阿裏雲
服務SLA__公眾趨勢分析-阿裏雲
阿裏雲的專業技術認證分為哪些?__常見問題_技術認證相關問題_專業技術認證-阿裏雲
分析界麵配置__使用手冊_畫像分析-阿裏雲
產品驗證失敗如何處理__產品驗證_備案流程_備案-阿裏雲
服務市場條件__服務商入駐_服務商_雲市場-阿裏雲
設置健康檢查鏈接__應用設置_用戶指南_企業級分布式應用服務 EDAS-阿裏雲
使用阿裏雲Java應用向導__使用手冊_Eclipse 插件-阿裏雲
Android SDK API__API手冊_數據風控-阿裏雲
領域列表_阿裏雲幫助中心-阿裏雲,領先的雲計算服務提供商
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲