El mandato nzsql
El comando ' nzsql ' invoca un intérprete de comandos SQL en el host Netezza Performance Server o en un sistema cliente Netezza Performance Server. Puede utilizar este interprete de mandatos SQL para crear objetos de base de datos, ejecutar consultas y gestionar la base de datos.
nzsql [options] [security options] [dbname [user] [password]]| Parámetros | Descripción |
|---|---|
| -a | Repite todas las entradas de un script. |
| -A | Utilice la modalidad de salida de tabla no alineada. Esto equivale a especificar -P format=unaligned. |
| -csv | Modalidad de salida de tabla CSV (valores separados por comas). |
| -c <query> | Ejecuta una única consulta (o mandato de barra inclinada) y salga. |
-d <dbname>
o -D <dbname> |
Especifica el nombre de la base de datos a la que se conecta. Si no especifica este parámetro, el mandato nzsql utiliza el valor especificado para la variable de entorno NZ_DATABASE (si está especificado) o le solicita una contraseña (si no lo está). |
| -schema <schemaname> | Especifica el nombre del esquema al que se conectará. Esta opción se utiliza para Netezza Performance Server versión 7.0.3 y sistemas posteriores configurados para utilizar varios esquemas. Si el sistema no admite varios esquemas, este parámetro se ignora. Si no especifica este parámetro, el mandato nzsql utiliza el valor especificado para la variable de entorno NZ_SCHEMA (si se ha especificado) o un esquema que coincida con el nombre de cuenta de base de datos (si no se ha especificado y si enable_user_schema se ha establecido en TRUE), o el esquema predeterminado para la base de datos. |
| -e | Repite las consultas que se envían al servidor. |
| -e | Muestra consultas generadas por mandatos internos. |
| -f <file name> | Ejecuta consultas de un archivo y finaliza a continuación. |
| -F <string> | Establece el separador de campo. Por defecto: es una barra vertical (|). Esto equivale a especificar -P fieldsep=<string>. |
| -h | Muestra ayuda para el mandato nzsql. |
| -H | Establece la modalidad de resultados de la tabla en HTML. Esto equivale a especificar -P format=html. |
| -host <host> | Especifica el nombre de host del servidor de base de datos. |
| -l | Lista bases de datos disponibles, después sale. |
| -n | Inhabilita la modalidad readline. Es necesario cuando la entrada utiliza un juego de caracteres de doble byte como el japonés, chino o coreano |
| -o <file name> | Envía la salida de consulta al archivo especificado o, si se especifica una barra vertical (|) en lugar de un nombre de archivo, a un programa de sincronización. |
| -O <file name> | Envía la salida de consulta y cualquier mensaje de error al archivo especificado o, si se especifica una barra vertical (|) en lugar de un nombre de archivo, a un programa de sincronización. |
| -P opt[=val] | Establece la opción de impresión representada por opt para el valor representado por val. |
| -port <port> | Especifica el puerto de servidor de bases de datos. |
| -pw <password> | Especifica la contraseña del usuario de la base de datos. Si no especifica este parámetro, el mandato nzsql utiliza el valor especificado para la variable de entorno NZ_PASSWORD (si se especifica) o le solicita que entre una contraseña (si no se especifica). |
| -q | Se ejecuta silenciosamente, es decir, sin emitir mensajes. Sólo se devuelve la salida de la consulta. |
| -R | Suprime el recuento de filas que de lo contrario se muestran al final de la salida de la consulta. |
| -R <string> | Establece el separador de registros. El valor predeterminado es el carácter de nueva línea. Esto equivale a especificar -P recordsep=<string>. |
| -s | Utiliza la modalidad de un solo paso, que requiere que se confirme cada una de las consultas. |
| -S | Utiliza la modalidad de una sola línea, lo que hace que el carácter de nueva línea finalice una consulta. |
| -t | Imprime sólo filas. Esto equivale a especificar -P tuples_only. |
| -tiempo | Imprime el tiempo que se utiliza para las consultas. |
| -T <text> | Establece las opciones del distintivo de tabla HTML como el ancho y el borde. Esto equivale a especificar -P tableattr=<text>. |
-u <username>
o -U <username> |
Especifica el nombre de usuario de la base de datos. Si no especifica este parámetro, el mandato nzsql utiliza el valor especificado para la variable de entorno NZ_USER (si se especifica) o le solicita que entre un nombre de usuario (si no se especifica). |
| -v <name>=<value> | Establece la variable de sesión especificada para el valor especificado. Especifique este parámetro una vez para cada variables que se va a establecer, por ejemplo: |
| -v | Muestra la información de la versión y sale. |
| -w | No requiere una contraseña para el usuario de base de datos. La contraseña se facilita por medio de otros mecanismos (Kerberos, por ejemplo). |
| -W <password> | Especifica la contraseña del usuario de la base de datos. (Igual que -pw.) |
| -x | Expande el resultado de la tabla. Esto equivale a especificar -P expanded. |
| -X | No lee el archivo de inicio (~/.nzsqlrc). |
| <nivel> -securityLevel | Especifique el nivel de seguridad (seguro o no seguro) para una conexión de cliente al sistema Netezza Performance Server. Esta opción no se aplica cuando se ha iniciado sesión en el sistema Netezza Performance Server y se ejecuta el comando.
|
| -caCertFile <path> | Especifica el nombre de vía de acceso del archivo de certificado de la entidad emisora de certificados raíz en el sistema cliente. Esta opción es utilizada por clientes ' Netezza Performance Server ' que utilizan autenticación por pares para verificar el sistema anfitrión ' Netezza Performance Server. El valor predeterminado es NULL, que omite el proceso de autenticación entre iguales. |
| -cadena_parcial | Permite la verificación parcial de los certificados que carecen de una cadena de certificados completa (jerarquía de certificados de dos niveles). Debe utilizarse junto con la opción -caCertFile. |
| -z | Establece el separador de campo para una salida no alineada en un byte cero. |
| -0 | Establece el separador de registro para una salida no alineada en un byte cero. |
Dentro del intérprete de comandos ' nzsql ', introduzca ' \? para obtener ayuda.
- Tema general
- \g [FILE]
- Ejecute una consulta. Y da como resultado un archivo o un |pipe. Tiene el mismo efecto que finalizar la consulta con un punto y coma.
- \q
- Salga de nzsql.
- Ayuda
- \?
- Lista y muestra ayuda sobre todos los mandatos de barra inclinada invertida.
- \h <COMMAND>
- Muestra la ayuda para todos los mandatos SQL.
- Almacenamiento intermedio de consultas
- \e [FILE]
- Edita el almacenamiento intermedio de consulta actual (o archivo) con editor externo. (Sin soporte en Windows.)
- \p
- Muestra el contenido del almacenamiento intermedio de consultas.
- \s [FILE]
- Muestra el historial o lo guarda en un archivo. (Sin soporte en Windows.)
- \w [FILE]
- Graba el almacenamiento intermedio de consultas en un archivo.
- Entrada/salida
- \copy ...
- Realiza una SQL COPY con flujo de datos para el host de cliente.
- \echo [STRING]
- Escribe una serie en la salida estándar.
- \i FILE
- Lee y ejecuta consultas desde <file>.
- \o [FILE]
- Envía todos los resultados de consulta a un archivo o |pipe.
- \O [FILE]
- Envía la salida de consulta con errores a un archivo o |pipe.
- \qecho [STRING]
- Escribe una serie en el flujo de salida de consulta (consulte \o).
- Informativo
- \d NAME
- Describe una tabla (o vista, secuencia, sinónimo, un índice).
- \dO NAME
- Describe una tabla o vista en un orden de clasificación.
- \d{t|v|i|s|e|x}
- Lista tablas/vistas/índices/secuencias/tablas temporales/tablas externas.
- \d{m|y}
- Lista vistas materializadas/sinónimos.
- \dS{t|v|i|s}
- Lista tablas/vistas/índices/secuencias del sistema.
- \dM{t|v|i|s}
- Lista tablas/vistas/índices/secuencias de la gestión del sistema.
- \dp NAME
- Lista permisos de usuario.
- \dpu NAME
- Lista permisos otorgados a un usuario.
- \dpg NAME
- Lista permisos otorgados a un grupo.
- \dpr NAME
- Lista permisos otorgados a un rol.
- \dgp NAME
- Lista permisos grant para un usuario.
- \dgpu NAME
- Lista permisos de otorgamiento, otorgados a un usuario.
- \dgpg NAME
- Lista los permisos de otorgamiento otorgados a un grupo.
- \d{u|U}
- Lista usuarios/grupos de usuarios.
- \d{g|G|Gr}
- Lista grupos/usuarios del grupo/usuarios del grupo de recursos.
- \da[+] [NAME]
- Lista agregados, + para campos adicionales.
- \dd [object]
- Lista un comentario para el objeto.
- \df[+] [NAME]
- Lista funciones, + para campos adicionales.
- \dl[+] [NAME]
- Lista bibliotecas, + para campos adicionales.
- \do
- Lista los operadores.
- \dT
- Lista tipos de datos.
- \l[+]
- Lista todas las bases de datos, + para campos adicionales.
- Formateado
- \a
- Alterna entre modalidad alineada y modalidad no alineada.
- \C [STRING]
- Establece el título de la tabla o no se establece si none.
- \f [STRING]
- Muestra o establece el separador de campos para la salida de consulta no alineada.
- \H
- Alterna la modalidad de salida HTML (actualmente desactivada).
- \pset [NAME [VALUE]]
- Establece la opción de salida de tabla: (border|columns|csv_fieldsep|expanded|fieldsep| fieldsep_zero|footer|format|linestyle|null| numericlocale|pager|pager_min_lines|recordsep| recordsep_zero|tableattr|title|tuples_only| unicode_border_linestyle|unicode_column_linestyle| unicode_header_linestyle)
- \t [on|off]
- Muestra solo filas (actualmente desactivado).
- \T [STRING]
- Establece los atributos de código HTML <table>, o queda sin establecer si no hay ninguno.
- Conexión
- \act
- Muestra las sesiones activas actuales.
- \c[onnect] [DBNAME [USER] [PASSWORD]]
- Se conecta a la nueva base de datos (actualmente 'TEST_NZSQL_PSET_DB').
- Sistema operativo
- \time [on|off]
- Alterna el tiempo de los mandatos (actualmente desactivado).
- \! [COMMAND]
- Escape o comando de shell. (Sin soporte en Windows.)
- Variables
- \set [NAME [VALUE]]
- Establece la variable interna o lista todos si no hay parámetros.
- \unset NAME
- Desestablece (suprime) una variable interna.
Diferencias del comportamiento de nzsql en clientes UNIX y Windows
A partir de la versión 7.2.1 NPS, el comando ' nzsql ' se incluye como parte del kit de cliente de Windows. En un entorno Windows, tenga en cuenta que hay diferencias de comportamiento cuando los usuarios pulsan la tecla Intro o la secuencia de claves Control-C a cuando lo hacen en un entorno de línea de mandatos de UNIX nzsql. El entorno de indicador de mandatos Windows no soporta muchas de las opciones y formatos de mandatos de UNIX comunes. Sin embargo, si el cliente Windows está utilizando un entorno Linux como cygwin u otros, el mandato nzsql.exe puede soportar más de las opciones de línea de mandatos sólo UNIX anotadas en la documentación.
En un
entorno UNIX, si está escribiendo una consulta SQL de
varias líneas en un shell de línea de mandatos
nzsql, la tecla Intro actúa como un carácter de
nueva línea para aceptar la entrada para la consulta hasta que
escribe un carácter de punto y coma y pulsa Intro. El indicador de shell también cambia de
=>
a -> para las líneas subsiguientes de la entrada.
MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Enter)
MYDB.SCH(USER)-> ; (press Enter)
COUNT
-------
1274
(1 row)En un entorno UNIX, si pulsa Control-C, se cancela toda la consulta y regresa al indicador de mandatos:
MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Control-C)
MYDB.SCH(USER)=> En un entorno Windows, si está escribiendo una consulta SQL de varias líneas en un shell de línea de mandatos nzsql, la tecla Intro actúa como un carácter de nueva línea para aceptar la entrada para la consulta hasta que escribe un carácter de punto y coma y pulsa Intro.
MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Enter)
MYDB.SCH(USER)-> ; (press Enter)
COUNT
-------
1274
(1 row)Sin embargo, en un entorno Windows, las secuencias de clave Control-C o Interrupción-Control no cancelan la consulta de varias líneas, en lugar de eso cancelan sólo la línea de la entrada de consulta:
MYDB.SCH(USER)=> select count(*) (press Enter)
MYDB.SCH(USER)-> from ne_part (press Enter)
MYDB.SCH(USER)-> where p_retailprice < 950.00 (press Control-C)
MYDB.SCH(USER)-> ; (press Enter)
COUNT
-------
100000
(1 row)Control-C (o una interrupción de control) ha cancelado la cláusula WHERE en la tercera línea de entrada, y los resultados de la consulta han sido más largos sin la restricción. En una única línea de entrada (donde la solicitud es =>, tenga en cuenta que Control-C cancela la consulta y le devuelve al indicador de mandatos nzsql
MYDB.SCH(USER)=> select count(*) from ne_part (press Control-C)
MYDB.SCH(USER)=>
nzsql requiere el mandato more en Windows
Al ejecutar el comando ' nzsql ' en un cliente Windows, podría aparecer el errormore not recognized as an internal or external command. Este error se produce porque ' nzsql ' utiliza el comando ' more ' para procesar los resultados de la consulta. El error indica que el mandato nzsql no se puede ubicar en el mandato more en el cliente Windows.
Para corregir el problema, añada el ejecutable del mandato more.com a la variable de entorno PATH del sistema cliente. Cada versión del sistema operativo Windows tiene una forma un poco diferente de modificar las variables de entorno, por lo tanto, haga referencia a la documentación de Windows para obtener instrucciones específicas. En un sistema Windows 7, puede utilizar un proceso similar al siguiente:
- Haga clic en Inicio y escriba " environment " en el campo de búsqueda. En los resultados de búsqueda, pulse Editar las variables de entorno del sistema. El cuadro de diálogo Propiedades del sistema se abre y muestra la pestaña Avanzado.
- Pulse en Variables de entorno. Se abre el cuadro de diálogo Variables de entorno.
- En la lista Variables del sistema, seleccione la variable Vía de acceso y pulse Editar. Se abre el cuadro de diálogo Editar variable del sistema.
- Coloque el cursor al final del campo de valor Variable. Puede pulsar en cualquier lugar en el campo y, a continuación, pulse Fin para llegar al final del campo.
- Añade el valor ' C:\Windows\System32; ' al final del campo Path. Asegúrese de que utiliza un carácter de punto y coma y escriba un carácter de espacio al final de la serie. Si el sistema tiene un archivo more.com en un directorio que no es C:Windows\System32, utilice el nombre de vía de acceso que se aplica en su cliente.
- Pulse Aceptar en el cuadro de diálogo Editar variable del sistema, a continuación, pulse Aceptar en el cuadro de diálogo Variables de entorno y, después, pulse Aceptar en el cuadro de diálogo Propiedades del sistema.
Después de realizar este cambio, el comando ' nzsql ' debería ejecutarse sin mostrar el mensajemore not recognizederror.