Hologres兼容PostgreSQL生態,這意味著大多數PostgreSQL兼容的開發工具或BI工具都能直接連接Hologres,您可以選擇熟悉的工具進行開發,幫助您快速構建企業級實時數倉。本文為您介紹PSQL客戶端如何連接Hologres,并使用標準的PostgreSQL語句進行數據開發。
安裝PSQL客戶端
在使用PSQL客戶端之前需要官網下載并安裝。若您已經安裝好PSQL客戶端,可忽略本步驟,安裝步驟如下。
下載PSQL客戶端
您需要進入Postgres官網,下載與電腦系統相匹配的PostgreSQL 11及以上版本的客戶端安裝包,并根據提示安裝。
設置環境變量
Windows系統。
在
界面,單擊環境變量。添加PostgreSQL的bin文件路徑至Path中。
單擊確定。
設置macOS系統的環境變量,一般無需設置環境變量,如果需要請參見設置環境變量。
連接Hologres并開發
下載安裝完成PSQL客戶端之后,可以連接Hologres實例并進行開發。
連接Hologres
進入PSQL客戶端命令行界面,輸入連接信息,語法與連接PostgreSQL數據庫一致。
Linux系統語句如下。
psql -h <Endpoint> -p <Port> -U <AccessKey ID> -d <Database>
執行完上述語句后,您需要輸入AccessKey Secret。
macOS系統語句如下。
PGUSER=<AccessKey ID> PGPASSWORD=<AccessKey Secret> psql -p <Port> -h <Endpoint> -d <Database>
Windows系統語句如下。
Server [localhost]: Endpoint Database [postgres]: Database Port [5432]: Port Username [postgres]: <AccessKey ID> 用戶 <AccessKey ID> 的口令:<AccessKey Secret>
參數
描述
AccessKey ID
阿里云賬號:當前阿里云賬號的AccessKey ID。您可以單擊AccessKey 管理,獲取AccessKey ID。
自定義賬號:自定義賬號的用戶名,例如BASIC$abc。
AccessKey Secret
阿里云賬號:當前阿里云賬號的AccessKey Secret。
自定義賬號:自定義賬號的密碼。
Port
Hologres實例的公共網絡或VPC網絡端口。
示例取值
80
。說明公網詳情請參見實例配置。
Endpoint
Hologres實例的公共網絡或VPC網絡地址。
示例取值
xxx-cn-hangzhou.hologres.aliyuncs.com
。說明公網詳情請參見實例配置。
Database
Hologres的數據庫名稱。
開通Hologres實例后,系統自動創建postgres數據庫。
您可以使用postgres數據庫鏈接Hologres,但是該數據庫分配到的資源較少,開發實際業務建議您新建數據庫。詳情請參見創建數據庫。
示例取值
mydb
。使用樣例
使用阿里云賬號登錄,語句如下:
PGUSER="xxx" PGPASSWORD="xxx" psql -h hgpostcn-cn-xxx-cn-hangzhou.hologres.aliyuncs.com -p 80 -d demo
使用自定義賬號登錄
如果自定義賬號用戶名為abc,如下圖所示。
登錄語句如下:
PGUSER="BASIC\$abc" PGPASSWORD="xxx" psql -h hgpostcn-cn-xxx-cn-hangzhou.hologres.aliyuncs.com -p 80 -d demo
說明您也可以使用熟悉的開發工具連接Hologres,例如使用DataWorks或HoloWeb進行數據開發,詳情請參見DataWorks快速入門或連接HoloWeb并執行查詢。
(可選)創建數據庫
開通Hologres實例后,系統自動創建postgres數據庫。該數據庫分配到的資源較少,僅用于運維管理,開發實際業務建議您新建數據庫。
說明若您在此之前已經創建業務數據庫,可忽略此步驟。
命令語法。
CREATE Database <DatabaseName>;
DatabaseName為要創建的數據庫名稱。
使用示例。
--創建一個名為test的數據庫。 CREATE Database test;
數據開發
使用標準的PostgreSQL語句,在PSQL客戶端進行數據開發。
示例在數據庫中創建一張表并寫入數據,SQL語句如下。
BEGIN; CREATE TABLE nation ( n_nationkey bigint NOT NULL, n_name text NOT NULL, n_regionkey bigint NOT NULL, n_comment text NOT NULL, PRIMARY KEY (n_nationkey) ); CALL SET_TABLE_PROPERTY('nation', 'bitmap_columns', 'n_nationkey,n_name,n_regionkey'); CALL SET_TABLE_PROPERTY('nation', 'dictionary_encoding_columns', 'n_name,n_comment'); CALL SET_TABLE_PROPERTY('nation', 'time_to_live_in_seconds', '31536000'); COMMIT; INSERT INTO nation VALUES (11,'zRAQ', 4,'nic deposits boost atop the quickly final requests? quickly regula'), (22,'RUSSIA', 3 ,'requests against the platelets use never according to the quickly regular pint'), (2,'BRAZIL', 1 ,'y alongside of the pending deposits. carefully special packages are about the ironic forges. slyly special '), (5,'ETHIOPIA', 0 ,'ven packages wake quickly. regu'), (9,'INDONESIA', 2 ,'slyly express asymptotes. regular deposits haggle slyly. carefully ironic hockey players sleep blithely. carefull'), (14,'KENYA', 0 ,'pending excuses haggle furiously deposits. pending, express pinto beans wake fluffily past t'), (3,'CANADA', 1 ,'eas hang ironic, silent packages. slyly regular packages are furiously over the tithes. fluffily bold'), (4,'EGYPT', 4 ,'y above the carefully unusual theodolites. final dugouts are quickly across the furiously regular d'), (7,'GERMANY', 3 ,'l platelets. regular accounts x-ray: unusual, regular acco'), (20 ,'SAUDI ARABIA', 4 ,'ts. silent requests haggle. closely express packages sleep across the blithely'); SELECT * FROM nation;
您可以根據業務場景進行作業開發,示例如下。
加速讀取MaxCompute數據,詳情請參見基于Foreign Table加速查詢MaxCompute數據。
通過Flink實時寫入數據至Hologres,詳情請參見Hologres結果表。