Uso del cliente gsql de Windows para conectarse a un clúster
Esta sección describe cómo conectarse a una base de datos a través de un cliente SQL después de crear un clúster de almacén de datos y antes de utilizar la base de datos del clúster. GaussDB(DWS) proporciona el cliente gsql de Windows que coincide con la versión del clúster para que pueda acceder al clúster a través de la dirección de red pública o privada del clúster.
Procedimiento
- Instale y ejecute el cliente gsql en el servidor local de Windows (en Windows CLI). Se admiten Windows Server 2008/Windows 7 y versiones posteriores.
- Descargue el cliente gsql de Windows haciendo referencia a Descargar el cliente de Data Studio y descomprima el paquete en una carpeta local.
Figura 1 Carpeta de cliente gsql de Windows
- En el servidor local, haga clic en Start y busque cmd y ejecute el programa como administrador. Alternativamente, presione Win+R para abrir la CLI de Windows.
- Establecer variables de entorno. Para un sistema operativo de 32 bits, seleccione la carpeta x86. Para un sistema operativo de 64 bits, seleccione la carpeta x64.
Método 1: Configurar variables de entorno en la CLI de Windows. Abra el símbolo del sistema y ejecute el comando set path=<window_gsql>;%path%, donde <window_gsql> indica la ruta de la carpeta en la que se descomprimió el cliente gsql de Windows en el paso anterior. Por ejemplo:
1
set path=C:\Users\xx\Desktop\dws_8.1.x_gsql_for_windows\x64;%path%
Método 2: En la ventana Control Panel, busque System y haga clic en View advanced system settings. Haga clic en la pestaña Advanced y, a continuación, haga clic en Environment Variables. Seleccione el parámetro Path y haga clic en Edit. Añada la ruta gsql en el valor del parámetro. Por ejemplo:
Figura 2 Configuración de variables de entorno de Windows
- (Opcional) Para conectarse al clúster en modo SSL, configure los parámetros de autenticación SSL en el servidor donde está instalado el cliente. Para obtener más información, véase Establecimiento de conexiones TCP/IP seguras en modo SSL.
El modo de conexión SSL es más seguro que el modo no SSL. Se recomienda conectar el cliente al clúster en modo SSL.
- En la CLI de Windows, ejecute el siguiente comando para conectarse a la base de datos en el clúster GaussDB(DWS) usando el cliente gsql:
1
gsql -d <Database_name> -h <Cluster_address> -U <Database_user> -p <Database_port> -W <Cluster_password> -r
A continuación se enumeran los parámetros:
- Database name: Introduzca el nombre de la base de datos que se va a conectar. Si utiliza el cliente para conectarse al clúster por primera vez, introduzca la base de datos predeterminada gaussdb.
- Cluster address: Para obtener detalles sobre cómo obtener esta dirección, consulte Obtención de la dirección de conexión de clúster. Si se utiliza una dirección de red pública para la conexión, establezca este parámetro en el nombre de dominio de red pública. Si se utiliza una dirección de red privada para la conexión, establezca este parámetro en el nombre de dominio de red privada. Si se utiliza ELB para la conexión, establezca este parámetro en ELB Address. Si se utiliza ELB para la conexión, establezca este parámetro en la dirección ELB.
- Database user: Introduzca el nombre de usuario de la base de datos del clúster. Si utiliza el cliente para conectarse al clúster por primera vez, establezca este parámetro en el administrador predeterminado configurado durante la creación del clúster, por ejemplo, dbadmin.
- Database port: Ingrese el conjunto de puertos de base de datos durante la creación del clúster.
Por ejemplo, ejecute el siguiente comando para conectarse a la base de datos predeterminada gaussdb en el clúster de GaussDB(DWS):
1
gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -W password -r
Si se muestra la siguiente información, la conexión se realizó correctamente:
1
gaussdb=>
Precauciones
- La codificación de caracteres predeterminada del símbolo del sistema de Windows es GBK y el valor predeterminado de client_encoding de gsql de Windows es de GBK. Algunos caracteres codificados con UTF-8 no se pueden mostrar en gsql de Windows.
Sugerencia: Asegúrese de que el archivo especificado con -f utiliza la codificación UTF-8 y establezca el formato de codificación predeterminado en UTF-8 (set client_encoding='utf-8';).
- Las rutas de acceso en gsql de Windows deben estar separadas por barras diagonales (/), o se reportará un error. En un metacomando, la barra invertida (\) indica el inicio de un metacomando. Si la barra invertida está entre comillas simples ('\'), se utiliza para 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 utilizar el \! metacommand para ejecutar un comando del sistema en gsql de Windows, asegúrese de usar el separador de rutas requerido por el comando del sistema. Generalmente, el separador de ruta es una barra invertida (\).
1 2 3 4
gaussdb=> \! type D:/test.sql Incorrect syntax. gaussdb=> \! type D:\test.sql select 1 as id;
- Windows gsql no admite el metacomando \parallel.
1 2
gaussdb=> \parallel ERROR: "\parallel" is not supported in Windows.
- En el shell de Linux, las comillas simples ('') y las comillas dobles ("") pueden usarse para encerrar cadenas. En Windows, solo se pueden usar comillas dobles.
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)
Si se usan comillas simples, se reportará un error y se ignorará la entrada.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
- If Windows gsql is idle for a long time after a connection is established, the connection session times out, and an SSL error is reported. In this case, you need to log in again. The following error is reported:
1
SSL SYSCALL error: Software caused connection abort (0x00002745/10053), remote datanode <NULL>, error: Result too large
- En Windows, presione Ctrl+C para salir de gsql. Si se presionan Ctrl+C durante la entrada, la entrada se ignorará y se verá obligado a salir de gsql.
Ingrese as y pulse Ctrl+C. Después de que se muestre \q, salga de gsql.
1 2
gaussdb=> select 1 gaussdb=> as \q
- Windows gsql no puede conectarse a una base de datos mediante la codificación de caracteres LATIN1. La información de error es la siguiente:
1
gsql: FATAL: conversion between GBK and LATIN1 is not supported
- La ubicación del archivo gsqlrc.conf:
La ruta de acceso de gsqlrc predeterminada es %APPDATA%/postgresql/gsqlrc.conf. También puede establecer la ruta mediante la variable PSQLRC.
1
set PSQLRC=C:\Users\xx\Desktop\dws_8.1.x_gsql_for_windows\x64\gsqlrc.conf
Referencia de comandos gsql
Para obtener más información acerca de los comandos gsql, consulte la Guía de herramientas de Data Warehouse Service (DWS).