Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-08-19 GMT+08:00

Uso do cliente gsql de Windows para conectar-se a um cluster

Esta seção descreve como se conectar a um banco de dados por meio de um cliente SQL depois de criar um cluster de armazém de dados e antes de usar o banco de dados do cluster. O GaussDB(DWS) fornece o cliente gsql de Windows que corresponde à versão do cluster para que você acesse o cluster por meio do endereço de rede público ou privado do cluster.

Procedimento

  1. Instale e execute o cliente gsql no servidor Windows local (na CLI do Windows). O Windows Server 2008/Windows 7 e versões posteriores são suportados.
  2. Baixe o cliente gsql do Windows consultando Baixa do cliente do Data Studio e descompactando o pacote em uma pasta local.

    Figura 1 Pasta do cliente gsql do Windows

  3. No servidor local, clique em Start, procure cmd e execute o programa como administrador. Como alternativa, pressione Win+R para abrir a CLI do Windows.
  4. Defina variáveis de ambiente. Para um sistema operacional de 32 bits, selecione a pasta x86. Para um sistema operacional de 64 bits, selecione a pasta x64.

    Método 1: configure variáveis de ambiente na CLI do Windows. Abra o prompt de comando e execute o comando set path=<window_gsql>;%path% command, where <window_gsql> indica o caminho da pasta onde o cliente gsql do Windows foi descompactado na etapa anterior. Por exemplo:

    1
    set path=C:\Users\xx\Desktop\dws_8.1.x_gsql_for_windows\x64;%path%
    

    Método 2: na janela Control Panel, procure por System e clique em View advanced system settings. Clique na guia Advanced e clique em Environment Variables. Selecione o parâmetro Path e clique em Edit. Adicione o caminho gsql no valor do parâmetro. Por exemplo:

    Figura 2 Configurar variáveis de ambiente do Windows

  5. (Opcional) Para se conectar ao cluster no modo SSL, configure os parâmetros de autenticação SSL no servidor em que o cliente está instalado. Para mais detalhes, consulte Estabelecimento de conexões TCP/IP seguras no modo SSL.

    O modo de conexão SSL é mais seguro do que o modo não SSL. É aconselhável ligar o cliente ao cluster no modo SSL.

  6. Na CLI do Windows, execute o seguinte comando para se conectar ao banco de dados no cluster do GaussDB(DWS) usando o cliente gsql:

    1
    gsql -d <Database_name> -h <Cluster_address> -U <Database_user> -p <Database_port> -W <Cluster_password> -r
    

    Os parâmetros são os seguintes:

    • Database name: informe o nome do banco de dados a ser conectado. Se você usar o cliente para se conectar ao cluster pela primeira vez, insira o banco de dados gaussdb padrão.
    • Cluster address: para obter detalhes sobre como obter o endereço, consulte Obtenção do endereço de conexão do cluster. Se um endereço de rede pública for usado para conexão, defina esse parâmetro como o nome de domínio da rede pública. Se um endereço de rede privada for usado para conexão, defina esse parâmetro como o nome de domínio da rede privada. Se o ELB for usado para conexão, defina esse parâmetro como ELB Address. Se ELB for usado para conexão, defina esse parâmetro como o endereço do ELB.
    • Database user: informe o nome de usuário do banco de dados do cluster. Se você usar o cliente para se conectar ao cluster pela primeira vez, defina esse parâmetro como o administrador padrão configurado durante a criação do cluster, por exemplo, dbadmin.
    • Database port: insira o conjunto de portas do banco de dados durante a criação do cluster.

    Por exemplo, execute o seguinte comando para se conectar ao banco de dados gaussdb padrão no cluster do GaussDB(DWS):

    1
    gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -W password -r
    

    Se as informações a seguir forem exibidas, a conexão foi bem-sucedida.

    1
    gaussdb=>
    

Precauções

  1. A codificação de caracteres padrão do prompt de comando do Windows é GBK e o valor padrão de client_encoding do Windows gsql é GBK. Alguns caracteres codificados usando UTF-8 não podem ser exibidos em gsql do Windows.

    Sugestão: Certifique-se de que o arquivo especificado usando -f usa codificação UTF-8 e defina o formato de codificação padrão para UTF-8 (set client_encoding='utf-8';).

  2. Caminhos no gsql do Windows devem ser separados por barras (/), ou um erro será relatado. Em um meta-comando, a barra invertida (\) indica o início de um meta-comando. Se a barra invertida estiver entre aspas simples ('\'), ela será usada como escape.
    1
    2
    3
    4
    5
    6
    7
    gaussdb=> \i D:\test.sql
    D:: Permission denied
    postgres=> \i D:/test.sql
    id
    ----
      1
    (1 row)
    
  3. Para usar o metacomando \! para executar um comando do sistema no gsql do Windows, use o separador de caminho exigido pelo comando do sistema. Geralmente, o separador de caminho é uma barra invertida (\).
    1
    2
    3
    4
    gaussdb=> \! type D:/test.sql
    Incorrect syntax.
    gaussdb=> \! type D:\test.sql
    select 1 as id;
    
  4. O gsql do Windows não suporta o meta-comando \parallel.
    1
    2
    gaussdb=> \parallel
    ERROR: "\parallel" is not supported in Windows.
    
  5. No shell do Linux, aspas simples ('') e aspas duplas ("") podem ser usadas para delimitar cadeias. No Windows, apenas aspas duplas podem ser usadas.
    1
    2
    3
    4
    5
    gsql -h 192.168.233.189 -p 8109 -d postgres -U odbcuser -W password -c "select 1 as id"
     id
    ----
      1
    (1 row)
    
    Se as aspas simples forem usadas, um erro será relatado e a entrada será ignorada.
    1
    2
    3
    4
    5
    6
    gsql -h 192.168.233.189 -p 8109 -d postgres -U odbcuser -W password -c 'select 1 as id'
    gsql: warning: extra command-line argument "1" ignored
    gsql: warning: extra command-line argument "as" ignored
    gsql: warning: extra command-line argument "id'" ignored
    ERROR:  unterminated quoted string at or near "'select"
    LINE 1: 'select
    
  6. Se o gsql do Windows estiver ocioso por um longo tempo após a conexão ser estabelecida, o tempo limite da sessão de conexão e um erro de SSL será relatado. Nesse caso, você precisa fazer logon novamente. O seguinte erro é relatado:
    1
    SSL SYSCALL error: Software caused connection abort (0x00002745/10053), remote datanode <NULL>, error: Result too large
    
  7. No Windows, pressione Ctrl+C para sair do gsql. Se Ctrl+C for pressionado durante a entrada, a entrada será ignorada e você será forçado a sair do gsql.
    Digite as e pressione Ctrl+C. Depois que \q for exibido, saia do gsql.
    1
    2
    gaussdb=> select 1
    gaussdb=> as \q
    
  8. O gsql do Windows não pode se conectar a um banco de dados usando a codificação de caracteres LATIN1. As informações de erro são as seguintes:
    1
    gsql: FATAL: conversion between GBK and LATIN1 is not supported
    
  9. A localização do arquivo gsqlrc.conf:
    O caminho padrão do gsqlrc é %APPDATA%/postgresql/gsqlrc.conf. Você também pode definir o caminho usando a variável PSQLRC.
    1
    set PSQLRC=C:\Users\xx\Desktop\dws_8.1.x_gsql_for_windows\x64\gsqlrc.conf
    

Referência de comandos gsql

Para obter mais informações sobre os comandos gsql, consulte o Guia de ferramenta do Data Warehouse Service (DWS).