Configuração do SnowSQL¶
Este tópico descreve como configurar o SnowSQL usando parâmetros de conexão, opções de configuração e variáveis.
Neste tópico:
Arquivo config
do SnowSQL¶
O SnowSQL oferece suporte a múltiplos arquivos de configuração que permitem às organizações definir valores base para parâmetros de conexão, configurações padrão e variáveis, além de permitir que usuários individuais personalizem suas configurações pessoais em seus próprios arquivos <HOME_DIR>/.snowsql/config
. Quando o SnowSQL é iniciado, ele carrega em ordem os valores dos parâmetros de configuração dos seguintes locais do arquivo de configuração, substituindo os valores dos arquivos carregados anteriormente:
/etc/snowsql.cnf
/etc/snowflake/snowsql.cnf
/usr/local/etc/snowsql.cnf
<HOME_DIR>/.snowsql.cnf
(suporte apenas para compatibilidade com versões anteriores)<HOME_DIR>/.snowsql/config
Por exemplo, se o arquivo de configuração /etc/snowsql.cnf
definir o parâmetro log_level
como info
, você pode substituir isso definindo o parâmetro como debug
no seu arquivo <HOME_DIR>/.snowsql/config
.
Você deve criar esses arquivos de configuração usando a codificação UTF-8.
Modifique o arquivo de configuração da seguinte forma:
Abra o arquivo de configuração do SnowSQL (chamado
config
) em um editor de texto. A localização padrão do arquivo é:- Linux/macOS
~/.snowsql/
- Windows
%USERPROFILE%\.snowsql\
Nota
Você pode mudar o local padrão especificando o sinalizador de linha de comando
--config path
ao iniciar o SnowSQL.Modifique as configurações nas seguintes seções:
Atenção
A senha é armazenada em texto simples no arquivo
config
. Você deve proteger explicitamente o arquivo para restringir o acesso. Por exemplo, no Linux ou no macOS, você pode definir as permissões de leitura somente para você, executandochmod
:$ chmod 700 ~/.snowsql/config
Nota
Se um valor contiver caracteres especiais (além de aspas simples ou duplas), você deve colocá-lo entre aspas simples ou duplas, por exemplo:
password = "my$^pwd"
Se um valor contiver caracteres de aspas além de outros caracteres especiais, coloque as aspas entre os caracteres de escape de barra invertida (
\
), por exemplo:password = "my$^\"\'pwd"
Observe que colocar as aspas entre caracteres de escape é opcional em valores sem delimitadores (ou seja, valores que não contêm outros caracteres especiais).
Os valores com várias linhas devem ser colocados entre três aspas simples ou duplas (
'''
ou"""
), por exemplo:prompt_format='''[#FFFF00][user]@[account] [#00FF00]> '''
Seção de parâmetros de conexão¶
Na seção [connections]
do arquivo config
, você tem a opção de definir os parâmetros de conexão padrão do SnowSQL, por exemplo: identificador de conta, credenciais de login de usuário, e banco de dados e warehouse padrão. Você também pode definir conexões nomeadas para fazer múltiplas conexões simultâneas ao Snowflake ou armazenar conjuntos diferentes de configurações de conexões.
Para obter mais informações, consulte Conexão por meio do SnowSQL.
Seção de opções de configuração¶
Defina o comportamento do SnowSQL adicionando configurações na seção [options]
do arquivo config
:
[options] <option_name> = <option_value>
Onde:
<nome_opção>
é o nome da opção (não diferencia maiúsculas de minúsculas). Se um nome inválido for especificado, o SnowSQL exibe um erro.<valor_opção>
especifica um valor com suporte (não diferencia maiúsculas de minúsculas) para a opção, conforme descrito abaixo.
+----------------------------+---------------------+------------------------------------------------------------------------------------+
| Name | Value | Help |
+----------------------------+---------------------+------------------------------------------------------------------------------------+
| auto_completion | True | Displays auto-completion suggestions for commands and Snowflake objects. |
| client_session_keep_alive | False | Keeps the session active indefinitely, even if there is no activity from the user. |
| echo | False | Outputs the SQL command to the terminal when it is executed. |
| editor | vim | Changes the editor to use for the !edit command. |
| empty_for_null_in_tsv | False | Outputs an empty string for NULL values in TSV format. |
| environment_variables | ['PATH'] | Specifies the environment variables that can be referenced as SnowSQL variables. |
| | | The variable names should be comma separated. |
| execution_only | False | Executes queries only. |
| exit_on_error | False | Quits when SnowSQL encounters an error. |
| fix_parameter_precedence | True | Controls the precedence of the environment variable and the config file entries |
| | | for password, proxy password, and private key phrase. |
| force_put_overwrite | False | Force PUT command to stage data files without checking whether already exists. |
| friendly | True | Shows the splash text and goodbye messages. |
| header | True | Outputs the header in query results. |
| insecure_mode | False | Turns off OCSP certificate checks. |
| key_bindings | emacs | Changes keybindings for navigating the prompt to emacs or vi. |
| log_bootstrap_file | ~/.snowsql/log_... | SnowSQL bootstrap log file location. |
| log_file | ~/.snowsql/log | SnowSQL main log file location. |
| log_level | CRITICAL | Changes the log level (critical, debug, info, error, warning). |
| login_timeout | 120 | Login timeout in seconds. |
| noup | False | Turns off auto upgrading SnowSQL. |
| output_file | None | Writes output to the specified file in addition to the terminal. |
| output_format | psql | Sets the output format for query results. |
| paging | False | Enables paging to pause output per screen height. |
| progress_bar | True | Shows progress bar while transferring data. |
| prompt_format | [user]#[warehou...] | Sets the prompt format. Experimental feature, currently not documented. |
| sfqid | False | Turns on/off Snowflake query id in the summary. |
| sfqid_in_error | False | Turns on/off Snowflake query id in the error message. |
| quiet | False | Hides all output. |
| remove_comments | False | Removes comments before sending query to Snowflake. |
| remove_trailing_semicolons | True | Removes trailing semicolons from SQL text before sending queries to Snowflake. |
| results | True | If set to off, queries will be sent asynchronously, but no results will be fetched.|
| | | Use !queries to check the status. |
| rowset_size | 1000 | Sets the size of rowsets to fetch from the server. |
| | | Set the option low for smooth output, high for fast output. |
| stop_on_error | False | Stops all queries yet to run when SnowSQL encounters an error. |
| syntax_style | default | Sets the colors for the text of SnowSQL. |
| timing | True | Turns on/off timing for each query. |
| timing_in_output_file | False | Includes timing in the output file. |
| variable_substitution | False | Substitutes variables (starting with '&') with values. |
| version | 1.1.70 | Returns SnowSQL version. |
| wrap | True | Truncates lines at the width of the terminal screen. |
+----------------------------+---------------------+------------------------------------------------------------------------------------+
Para ver as descrições de todas as opções válidas, consulte Referência de opções de configuração do SnowSQL (neste tópico).
Nota
Além de definir as opções de configuração no arquivo config
, você pode definir as opções usando um dos seguintes métodos:
Ao conectar-se ao Snowflake, você pode usar o parâmetro de conexão
-o
ou--option
para definir essas opções. Para obter mais informações, consulte Referência de parâmetros de conexão.Após conectar-se ao Snowflake, você pode usar o comando
!set
para definir essas opções para a sessão. Para obter mais informações, consulte Referência de comandos.
Seção de variáveis¶
Na seção [variables]
do arquivo config
, você pode armazenar valores como variáveis para reutilização. Esse recurso permite o uso de valores de banco de dados e definidos pelo usuário e em consultas.
Para obter mais informações, consulte Uso de variáveis.
Referência de opções de configuração do SnowSQL¶
As opções modificam o comportamento padrão do SnowSQL. Você pode definir essas opções usando um dos seguintes métodos:
No arquivo de configuração (como descrito neste tópico).
Usando o parâmetro
-o
ou--option
ao conectar-se ao Snowflake.Usando o comando
!set
depois de se conectar ao Snowflake.
Nota
Os nomes e valores das opções não diferenciam maiúsculas de minúsculas.
auto_completion
¶
- Tipo
Booleano
- Descrição
Permite o preenchimento automático contextual. Se habilitada, as funções, nomes de tabelas e variáveis armazenadas no SnowSQL são preenchidas automaticamente no modo interativo.
- Padrão
auto_completion=True
client_session_keep_alive
¶
- Tipo
Booleano
- Descrição
Indica se é para forçar um usuário a fazer login novamente após um período de inatividade em uma sessão JDBC ou ODBC. Quando definida como
True
, o Snowflake mantém a sessão ativa indefinidamente, mesmo que não haja atividade do usuário. Quando definida comoFalse
, o usuário deve fazer o login novamente após quatro horas de inatividade.- Padrão
client_session_keep_alive=False
echo
¶
- Tipo
Booleano
- Descrição
Ecoa a entrada local. Quando definida como
True
, ecoa tanto parastdout
como para o arquivo de saída.- Padrão
echo=False
editor
¶
- Tipo
Cadeia de caracteres (constante)
- Descrição
Especifica o editor a ser invocado quando o comando
!edit
é emitido no SnowSQL. Valores com suporte:
emacs
vi
vim
- Padrão
editor=vim
empty_for_null_in_tsv
¶
- Tipo
Booleano
- Descrição
Se habilitada, quando
output_format
é definida comoTSV
, o SnowSQL gera uma cadeia de caracteres vazia para cada valor NULL.- Exemplo
empty_for_null_in_tsv=True
environment_variables
¶
- Tipo
Lista
- Descrição
Especifica as variáveis de ambiente a serem definidas nas variáveis do SnowSQL.
- Exemplo
environment_variables=PATH,USER,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY
execution_only
¶
- Tipo
Booleano
- Descrição
Se habilitada, o SnowSQL executa consultas sem buscar dados. Essa opção é útil quando você só quer medir os tempos de execução. Observe que os valores retornados incluem a latência de rede e não são os tempos de execução puros no servidor.
- Exemplo
execution_only=True
exit_on_error
¶
- Tipo
Booleano
- Descrição
Se habilitada, o SnowSQL é encerrado quando ocorre um erro. Este comportamento é útil para interromper a execução de consultas quando um erro é encontrado.
- Exemplo
exit_on_error=True
fix_parameter_precedence
¶
- Tipo
Booleano
- Descrição
Controla a precedência entre as possíveis fontes da senha, da senha de proxy e dos parâmetros da frase-chave privada.
Se o valor for Verdadeiro, a precedência (da mais alta para a mais baixa) é:
A variável de ambiente ou o parâmetro de linha de comando do SnowSQL.
Os parâmetros de conexão específicos da conexão, que são os parâmetros na seção de conexão nomeada do arquivo de configuração, por exemplo, a seção
[connections.myconnection]
.Os parâmetros de conexão padrão, que são os parâmetros na seção
[connections]
do arquivo de configuração.Se o valor for Falso, a precedência (da mais alta para a mais baixa) é:
Os parâmetros de conexão específicos da conexão, que são os parâmetros na seção de conexão nomeada do arquivo de configuração, por exemplo, a seção
[connections.myconnection]
.A variável de ambiente ou o parâmetro de linha de comando do SnowSQL.
Os parâmetros de conexão padrão, que são os parâmetros na seção
[connections]
do arquivo de configuração.- Padrão
True
force_put_overwrite
¶
- Tipo
Booleano
- Descrição
Se habilitada, o SnowSQL força o comando PUT a carregar (ou seja, preparar) arquivos de dados de um diretório/pasta local em uma máquina cliente para o estágio interno especificado (ou seja, o Snowflake) sem verificar se os arquivos já existem no estágio. Se os arquivos já estiverem presentes no estágio de destino, o comando PUT substitui os arquivos existentes.
- Padrão
force_put_overwrite=False
friendly
¶
- Tipo
Booleano
- Descrição
Se desabilitada, o SnowSQL suprime as mensagens de inicialização e encerramento.
- Padrão
friendly=True
header
¶
- Tipo
Booleano
- Descrição
Exibe o cabeçalho na tabela de resultados gerada pelo SnowSQL. Desabilitar essa opção é útil quando você deseja recuperar somente os dados nos resultados.
Pode ser usada com
output_format
etiming
para produzir saída somente de dados.- Padrão
header=True
insecure_mode
¶
- Tipo
Booleano
- Descrição
Ignora as verificações de revogação de certificado usando o OCSP(Online Certificate Status Protocol). Essa opção pode ser utilizada em uma situação de emergência em que nenhum serviço OCSP esteja acessível. O Snowflake recomenda fortemente que você não habilite essa opção, a menos que receba instruções do suporte Snowflake.
- Padrão
insecure_mode=False
key_bindings
¶
- Tipo
Cadeia de caracteres (constante)
- Descrição
Atalhos a serem usadas. Possíveis valores:
emacs
: [CTRL]-a é a home (início da linha), [CTRL]-e é end (fim da linha). Todas os atalhos do Emacs para o ambiente REPL estão disponíveis.
vi
: você pode usar todos os recursos de edição modal oferecidos por vi no ambiente REPL.- Observação
O valor não pode ser alterado pelo comando
!set
durante a sessão do SnowSQL. Em vez disso, defina o valor no arquivo de configuração ou na linha de comando ao conectar-se ao Snowflake.- Padrão
key_bindings=vi
log_bootstrap_file
¶
- Tipo
Cadeia de caracteres (caminho)
- Descrição
Localização do arquivo de log Bootstrap. Se não especificado,
log_file
é usado como o nome base seguido por_bootstrap
. Por exemplo, por padrão, o nome do arquivo de log élog_bootstrap
.- Padrão
log_bootstrap_file=~/.snowsql/bootlog
log_file
¶
- Tipo
Cadeia de caracteres (caminho)
- Descrição
Localização de log_file.
Nota
Você deve ter permissões para gravar no diretório pai do arquivo de log ou para modificar a localização do arquivo de log.
- Padrão
log_file=~/.snowsql/log
log_level
¶
- Tipo
Cadeia de caracteres (constante)
- Descrição
Nível de log padrão. Possíveis valores:
CRITICAL
,ERROR
,WARNING
,INFO
,DEBUG
.
login_timeout
¶
- Tipo
Número
- Descrição
Tempo limite para login em segundos.
- Padrão
login_timeout=120
noup
¶
- Tipo
Booleano
- Descrição
Impede o SnowSQL de baixar e instalar uma nova versão se
True
. Por padrão, o SnowSQL é atualizado automaticamente para a versão mais recente se nenhuma versão for especificada.- Padrão
noup=False
output_file
¶
- Tipo
Cadeia de caracteres (caminho e nome do arquivo)
- Descrição
Grava a saída no arquivo especificado, além da saída do terminal.
- Padrão
Nenhum
output_format
¶
- Tipo
Cadeia de caracteres (constante)
- Descrição
Especifica o formato dos resultados exibidos no terminal. Possíveis valores:
csv
expanded
fancy_grid
grid
html
json
latex
latex_booktabs
mediawiki
orgtbl
pipe
plain
psql
rst
simple
tsv
Valores recomendados para os resultados tabulares:
psql
,grid
oufancy_grid
Valores recomendados para resultados somente de dados (usados em combinação com
header
,timing
efriendly
definido comoFalse
):plain
,csv
outsv
- Padrão
output_format=psql
paging
¶
- Tipo
Booleano
- Descrição
Quando a opção está habilitada, pausa a saída pela altura da tela. Esse recurso é útil para a navegação em grandes conjuntos de resultados. Para rolar para baixo, pressione a tecla [ENTER]/[RETURN].
- Padrão
paging=False
progress_bar
¶
- Tipo
Booleano
- Descrição
Mostra a barra de progresso durante a transferência de dados.
- Padrão
progress_bar=True
prompt_format
¶
- Tipo
cadeia de caracteres
- Descrição
Muda o formato do prompt do SnowSQL.
O prompt do SnowSQL exibe dinamicamente o usuário atual, o warehouse, o banco de dados e o esquema, por padrão. Os tokens dinâmicos são escritos como [<token>], por exemplo [usuário] ou [warehouse]. Você pode alterar a ordem, o delimitador e a cor do objeto Snowflake. Altere a cor do objeto definindo um símbolo de pigmento entre colchetes.
Por exemplo, altere a ordem dos objetos para usuário, banco de dados e esquema e, em seguida, warehouse. Altere o delimitador para um ponto final. Altere o nome do objeto [usuário] para vermelho, os nomes [banco de dados] e [esquema] para verde, e o nome [warehouse] para azul:
prompt_format="[#FF0000][user]@[#00FF00][database][schema][#0000FF][warehouse]"Coloque o valor entre aspas para evitar que caracteres «#» sejam interpretados como o início de um comentário.
- Padrão
None
quiet
¶
- Tipo
Booleano
- Descrição
Remove todos os dados de saída do terminal, mas continua a exibir mensagens de erro e dados de diagnóstico.
- Padrão
quiet=True
remove_comments
¶
- Tipo
Booleano
- Descrição
Retira comentários da saída.
- Padrão
remove_comments=False
remove_trailing_semicolons
¶
- Tipo
Booleano
- Descrição
Remove os ponto-e-vírgula finais do texto SQL antes de enviar as consultas para o Snowflake. Observe que a remoção dos ponto-e-vírgula pode impedir que o Snowflake use resultados em cache de diferentes clientes quando o parâmetro de sessão USE_CACHED_RESULT estiver habilitado.
- Padrão
remove_trailing_semicolons=True
results
¶
- Tipo
Booleano
- Descrição
Retorna os resultados da consulta. Se
False
, a consulta é executada de forma assíncrona. Nenhum resultado, inclusive mensagens de erro, é retornado.- Padrão
results=True
rowset_size
¶
- Tipo
Número
- Descrição
Número de linhas a serem buscadas de uma só vez no modo interativo. Em seguida, os resultados são buscado para a saída um conjunto de linhas de cada vez.
- Padrão
rowset_size=1000
sfqid
¶
- Tipo
Booleano
- Descrição
Inclui a ID de consulta do Snowflake no resumo do resultado.
Nota: Você também deve definir
timing_in_output_file=True
para adicionarsqfid
ao arquivo de spool.- Padrão
sfqid=False
sfqid_in_error
¶
- Tipo
Booleano
- Descrição
Inclui a ID de consulta do Snowflake em mensagens de erro.
- Padrão
sfqid_in_error=False
stop_on_error
¶
- Tipo
Booleano
- Descrição
Quando um erro é encontrado, interrompe a execução da consulta, mas não é encerrado.
- Padrão
stop_on_error=False
syntax_style
¶
- Tipo
Cadeia de caracteres (constante)
- Descrição
Define as cores do texto no SnowSQL. Atualmente, o único valor suportado é
default
.- Padrão
syntax_style=default
timing
¶
- Tipo
Booleano
- Descrição
Especifica se deve exibir o número de linhas produzidas e o tempo consumido pelas instruções SQL executadas. Essa informação é exibida como uma linha de texto sob a tabela de resultados gerada pelo SnowSQL. Se definida como
False
, a linha de texto sob a tabela de resultados não é exibida.Pode ser usada em conjunto com
header
eoutput_format
para produzir saídas somente de dados.- Padrão
timing=True
timing_in_output_file
¶
- Tipo
Booleano
- Descrição
Especifica se os detalhes do tempo de execução devem ser incluídos no arquivo de saída, se a opção
output_file
estiver configurada. Requer também a definição da opçãotiming
comoTrue
.Se definida como
False
, a linha de texto sob a tabela de resultados não é incluída no arquivo de saída.- Padrão
timing_in_output_file=False
variable_substitution
¶
- Tipo
Booleano
- Descrição
Substitui as variáveis pelos valores. Consulte Uso de variáveis.
- Padrão
variable_substitution=False
wrap
¶
- Tipo
Booleano
- Descrição
Ajusta a saída pela largura do terminal. Se
False
, as saídas são truncadas.- Padrão
wrap=True