Tous les produits
Search
Centre de documentation

Hologres:Connect to a virtual warehouse

Dernière mise à jour :Sep 18, 2026

Si une instance Hologres comporte plusieurs entrepôts virtuels, vous pouvez cibler un entrepôt spécifique lors de la connexion ou changer d'entrepôt en cours de session sans vous reconnecter. Cette rubrique explique comment spécifier un entrepôt virtuel dans les chaînes de connexion JDBC et psql, et comment basculer d'un entrepôt à l'autre via SQL après la connexion.

Connexion via JDBC

Format de la chaîne de connexion

Sans entrepôt virtuel (utilise votre entrepôt virtuel par défaut) :

jdbc:postgresql:<Endpoint>:<Port>/<database_name>

Avec un entrepôt virtuel :

jdbc:postgresql://<Endpoint>:<Port>/<database_name>@<warehouse_name>

Paramètres

Paramètre Obligatoire Description
Endpoint Oui Point de terminaison de l'instance Hologres. Accédez à la console Hologres, cliquez sur Instances dans le volet de navigation de gauche, sélectionnez l'instance cible et repérez le point de terminaison dans la section Network Information de la page Instance Details. Sélectionnez le point de terminaison correspondant à votre environnement réseau ; l'utilisation d'un point de terminaison incorrect entraînera l'échec de la connexion.
Port Oui Port de l'instance Hologres. Vous le trouverez dans la même section Network Information.
database_name Oui Nom de la base de données Hologres. Lors de la création d'une instance, le système génère automatiquement la base de données postgres. Les ressources de la base de données postgres étant limitées, nous vous recommandons de créer une base de données dédiée pour vos charges de travail métier. Exemple : demo.
warehouse_name Non Entrepôt virtuel à utiliser pour cette connexion. Si ce paramètre est omis, la connexion s'établit via votre entrepôt virtuel par défaut. Pour changer d'entrepôt après la connexion, utilisez SET current_warehouse.

Exemples

Sans entrepôt virtuel — connexion à la base de données demo via l'entrepôt virtuel par défaut :

jdbc:postgresql://hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com:80/demo

Avec un entrepôt virtuel — connexion à la base de données demo via l'entrepôt warehouse_1 :

jdbc:postgresql://hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com:80/demo@warehouse_1

Priorité de routage vers l'entrepôt virtuel

Si la chaîne de connexion ne précise pas explicitement d'entrepôt virtuel, Hologres détermine l'entrepôt à utiliser selon l'ordre de priorité suivant :

  1. L'entrepôt virtuel indiqué dans la chaîne de connexion, comme illustré dans les exemples précédents.

  2. Votre entrepôt virtuel par défaut au niveau utilisateur, si vous en avez défini un en appelant hg_set_user_default_warehouse.

  3. L'entrepôt virtuel par défaut de l'instance, init_warehouse, utilisé uniquement si aucun des deux paramètres précédents n'est configuré.

Pour vérifier l'entrepôt virtuel effectivement utilisé par la connexion actuelle, exécutez :

SELECT current_warehouse();

Routage automatique des requêtes d'écriture (DML)

Le paramètre Grand Unified Configuration (GUC) hg_experimental_enable_warehouse_dml_auto_routing régit le routage des requêtes d'écriture (DML) entre les entrepôts virtuels. Ce paramètre est on par défaut. Pour confirmer sa valeur actuelle, exécutez SHOW hg_experimental_enable_warehouse_dml_auto_routing;. Tant que le paramètre reste sur on, les requêtes d'écriture sont automatiquement acheminées vers l'entrepôt virtuel leader pour exécution ; les écritures aboutissent donc même si votre connexion utilise un entrepôt non leader.

Si vous désactivez ce paramètre off, les requêtes d'écriture émises depuis un entrepôt virtuel non leader seront rejetées. En revanche, les requêtes d'écriture lancées directement sur l'entrepôt virtuel leader continueront de fonctionner normalement.

Connexion via psql

Format de la chaîne de connexion

Sans entrepôt virtuel (utilise votre entrepôt virtuel par défaut) :

PGUSER="<AccessKey_ID>" PGPASSWORD="<AccessKey_Secret>" psql -h <Endpoint> -p <Port> -d <database_name>

Avec un entrepôt virtuel :

PGUSER="<AccessKey_ID>" PGPASSWORD="<AccessKey_Secret>" psql -h <Endpoint> -p <Port> -d <database_name>@<warehouse_name>
Remarque

L'indicateur -d accepte <database_name>@<warehouse_name> comme une seule valeur. La partie @<warehouse_name> ne constitue pas un indicateur distinct ; elle est simplement ajoutée au nom de la base de données.

Paramètres

Paramètre Obligatoire Description
AccessKey_ID Oui Compte Alibaba Cloud : votre AccessKey ID. Obtenez-le depuis la page AccessKey Management. Compte personnalisé : votre nom d'utilisateur, par exemple BASIC$abc.
AccessKey_Secret Oui Compte Alibaba Cloud : votre AccessKey Secret. Compte personnalisé : votre mot de passe.
Endpoint Oui Point de terminaison de l'instance Hologres. Disponible sur la page Instance Details de la console Hologres.
Port Oui Port de l'instance Hologres. Visible sur la même page Instance Details.
database_name Oui Nom de la base de données Hologres. Lors de la création d'une instance, le système génère automatiquement la base de données postgres. Les ressources de la base de données postgres étant limitées, nous vous recommandons de créer une base de données dédiée pour vos charges de travail métier. Exemple : demo.
warehouse_name Non Entrepôt virtuel à utiliser pour cette connexion. Ajoutez-le au paramètre database_name sous la forme <database_name>@<warehouse_name>. Si ce paramètre est omis, la connexion s'établit via votre entrepôt virtuel par défaut.

Exemples

Ligne de commande — sans entrepôt virtuel :

PGUSER="xxx" PGPASSWORD="xxx" psql -h hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com -p 80 -d demo

Ligne de commande — avec un entrepôt virtuel :

PGUSER="xxx" PGPASSWORD="xxx" psql -h hgpostcn-cn-zz4xxxxxxxxxx-cn-shenzhen-vpc-st.hologres.aliyuncs.com -p 80 -d demo@warehouse_1

Changer d'entrepôt virtuel via SQL

Disponible à partir de Hologres V4.0.

Utilisez SET current_warehouse pour basculer vers un autre entrepôt virtuel sur la connexion active sans vous reconnecter. Pour connaître l'entrepôt actif à tout moment, exécutez SHOW current_warehouse.

Utilisation de base :

-- Switch to a different virtual warehouse
SET current_warehouse = <warehouse_name>;

-- Verify the active virtual warehouse
SHOW current_warehouse;

Basculer puis revenir à l'entrepôt initial — utile lorsque vous devez utiliser temporairement un autre entrepôt avant de reprendre le précédent :

-- Record the current warehouse
SHOW current_warehouse;

-- Switch to a different warehouse
SET current_warehouse = warehouse_2;

-- Verify the switch
SHOW current_warehouse;

-- Restore the original warehouse when done
SET current_warehouse = <original_warehouse_name>;

Remarques d'utilisation

  • Le changement d'entrepôt préserve l'intégralité de l'état de la session, y compris les variables Grand Unified Configuration (GUC) et les instructions préparées.

  • Ce paramètre s'applique uniquement au niveau de la session. Toute tentative de définition au niveau de la base de données ou de l'utilisateur renvoie l'erreur suivante : This can only be set at session level.

  • L'utilisateur actuel doit disposer des autorisations nécessaires sur l'entrepôt virtuel cible. En l'absence des permissions requises, la commande renvoie : Permission denied for warehouse "xxx".

  • Le basculement n'est pas pris en charge pour les connexions associées à une table temporaire active (TEMP TABLE).