全部產品
Search
文件中心

Hologres:PSQL用戶端

更新時間:Oct 25, 2024

Hologres相容PostgreSQL生態,這意味著大多數PostgreSQL相容的開發工具或BI工具都能直接連接Hologres,您可以選擇熟悉的工具進行開發,協助您快速構建企業級即時數倉。本文為您介紹PSQL用戶端如何串連Hologres,並使用標準的PostgreSQL語句進行資料開發。

安裝PSQL用戶端

在使用PSQL用戶端之前需要官網下載並安裝。若您已經安裝好PSQL用戶端,可忽略本步驟,安裝步驟如下。

  1. 下載PSQL用戶端

    您需要進入Postgres官網,下載與電腦系統相匹配的PostgreSQL 11及以上版本的用戶端安裝包,並根據提示安裝。

  2. 設定環境變數

    • Windows系統。

      1. 系統屬性 > 進階系統設定介面,單擊環境變數

      2. 添加PostgreSQL的bin檔案路徑至Path中。

      3. 單擊確定

    • 設定macOS系統的環境變數,一般無需設定環境變數,如果需要請參見設定環境變數

串連Hologres並開發

下載安裝完成PSQL用戶端之後,可以串連Hologres執行個體並進行開發。

  1. 串連Hologres

    進入PSQL用戶端命令列介面,輸入串連資訊,文法與串連PostgreSQL資料庫一致。

    • Linux系統語句如下。

      psql -h <Endpoint> -p <Port> -U <AccessKey ID> -d <Database>

      執行完上述語句後,您需要輸入AccessKey Secret。

      LIN

    • macOS系統語句如下。

      PGUSER=<AccessKey ID> PGPASSWORD=<AccessKey Secret> psql -p <Port> -h <Endpoint> -d <Database>

      linux

    • Windows系統語句如下。

      Server [localhost]: Endpoint
      Database [postgres]: Database
      Port [5432]: Port
      Username [postgres]: <AccessKey ID>
      使用者 <AccessKey ID> 的口令:<AccessKey Secret>

      串連psql

    參數

    描述

    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並執行查詢

  2. (可選)建立資料庫

    開通Hologres執行個體後,系統自動建立postgres資料庫。該資料庫分配到的資源較少,僅用於營運管理,開發實際業務建議您建立資料庫。

    說明

    若您在此之前已經建立業務資料庫,可忽略此步驟。

    • 命令文法。

      CREATE Database <DatabaseName>;

      DatabaseName為要建立的資料庫名稱。

    • 使用樣本。

      --建立一個名為test的資料庫。
      CREATE Database test; 
  3. 資料開發

    使用標準的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;

    您可以根據業務情境進行作業開發,樣本如下。