本文為您介紹如何使用JDBC、PSQL串連計算群組執行個體。
使用JDBC串連Hologres執行個體
命令格式
未在連接字串中顯式指定計算群組時,將使用使用者預設的計算群組串連執行個體。
jdbc:postgresql:<Endpoint>:<Port>/<database_name>顯式指定計算群組。
jdbc:postgresql://<Endpoint>:<Port>/<database_name>@<warehouse_name>
參數說明
參數 | 是否必填 | 說明 |
Endpoint | 是 | Hologres執行個體的網路地址和連接埠。 進入Hologres管理主控台,選擇左側導覽列執行個體列表,單擊目標執行個體,在執行個體詳情頁網路資訊中擷取網路地址和連接埠。 重要 請根據SQL運行所在網路環境選擇正確的網路地址和連接埠,否則將無法正常串連。 |
Port | 是 | |
database_name | 是 |
|
warehouse_name | 否 | 串連執行個體使用的計算群組名稱。 |
使用樣本
未顯式指定計算群組
如下JDBC連接字串串連Hologres時,系統會使用使用者預設的計算群組,串連到hgpostcn-cn-zz4xxxxxxxxxx執行個體的demo資料庫。
jdbc:postgresql://hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com:80/demo顯式指定計算群組
如下JDBC連接字串串連Hologres時,系統會使用指定的計算群組warehouse_1,串連到執行個體hgpostcn-cn-zz4xxxxxxxxxx的demo資料庫。
jdbc:postgresql://hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com:80/demo@warehouse_1
使用PSQL串連Hologres執行個體
命令格式
未在連接字串中顯式指定計算群組時,將使用使用者預設的計算群組串連執行個體。
PGUSER="<AccessKey_ID>" PGPASSWORD="<AccessKey_Secret>" psql -h <Endpoint> -p <Port> -d <database_name>顯式指定計算群組。
PGUSER="<AccessKey_ID>" PGPASSWORD="<AccessKey_Secret>" psql -h <Endpoint> -p <Port> -d <database_name>@<warehouse_name>
參數說明
參數 | 是否必填 | 說明 |
AccessKey_ID | 是 |
|
AccessKey_Secret | 是 |
|
Endpoint | 是 | Hologres執行個體的網路地址。 進入Hologres管理主控台的執行個體詳情頁擷取網路地址。 |
Port | 是 | Hologres執行個體的網路連接埠。 進入Hologres管理主控台的執行個體詳情頁擷取網路連接埠。 |
database_name | 是 |
|
warehouse_name | 否 | 串連執行個體使用的計算群組名稱。 |
使用樣本
未顯式指定計算群組
如下PSQL連接字串串連Hologres時,系統會使用使用者預設的計算群組,串連到hgpostcn-cn-zz4xxxxxxxxxx執行個體的demo資料庫。
PGUSER="xxx" PGPASSWORD="xxx" psql -h hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com -p 80 -d demo顯式指定計算群組
如下PSQL連接字串串連Hologres時,系統會使用指定的計算群組warehouse_1,串連到hgpostcn-cn-zz4xxxxxxxxxx執行個體的demo資料庫。
PGUSER="xxx" PGPASSWORD="xxx" psql -h hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com -p 80 -d demo@warehouse_1
使用SQL切換當前串連計算群組
Hologres V4.0版本起,支援通過SQL切換當前串連的計算群組。
命令格式
-- 切換當前串連計算群組
SET current_warehouse = <warehouse_name>;
-- 驗證:查詢當前串連計算群組
SHOW current_warehouse;注意事項
當前串連成功切換計算群組後,串連上的GUC、Prepared Statements等狀態保持不變。
只支援Session層級設定,不支援DB、User等層級設定,否則報錯“This can only be set at session level.”。
當前串連使用者需具備目標計算群組許可權,否則報錯“Permission denied for warehouse "xxx".”。
串連上存在暫存資料表TEMP TABLE時,不支援切換。