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
- 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.
- 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
- 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.
- 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
- (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.
- 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
- 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';).
- 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)
- 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;
- O gsql do Windows não suporta o meta-comando \parallel.
1 2
gaussdb=> \parallel ERROR: "\parallel" is not supported in Windows.
- 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
- 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
- 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
- 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
- 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).