Configuration de SnowSQL¶
Ce chapitre décrit comment configurer SnowSQL en utilisant des paramètres de connexion, des options de configuration et des variables.
Dans ce chapitre :
Fichier SnowSQL config
¶
SnowSQL prend en charge plusieurs fichiers de configuration qui permettent aux organisations de définir des valeurs de base pour les paramètres de connexion, les paramètres par défaut et les variables, tout en permettant à chaque utilisateur de personnaliser ses paramètres personnels dans ses propres fichiers <HOME_DIR>/.snowsql/config
. Lorsque SnowSQL démarre, il charge les valeurs des paramètres de configuration à partir des emplacements de fichiers de configuration suivants, dans l’ordre, en remplaçant les valeurs des fichiers chargés précédemment :
/etc/snowsql.cnf
/etc/snowflake/snowsql.cnf
/usr/local/etc/snowsql.cnf
<HOME_DIR>/.snowsql.cnf
(pris en charge uniquement pour la rétrocompatibilité)<HOME_DIR>/.snowsql/config
Par exemple, si le fichier de configuration /etc/snowsql.cnf
définit le paramètre log_level
sur info
, vous pouvez l’annuler en définissant le paramètre sur debug
dans votre fichier <HOME_DIR>/.snowsql/config
.
Vous devez créer ces fichiers de configuration en utilisant un encodage UTF-8.
Modifiez le fichier de configuration comme suit :
Ouvrez le fichier de configuration SnowSQL (nommé
config
) dans un éditeur de texte. L’emplacement par défaut du fichier est :- Linux/macOS
~/.snowsql/
- Windows
%USERPROFILE%\.snowsql\
Note
Vous pouvez changer l’emplacement par défaut en spécifiant l’indicateur de ligne de commande
--config path
au démarrage de SnowSQL.Modifiez les paramètres dans les sections suivantes :
Attention
Le mot de passe est stocké en texte clair dans le fichier
config
. Vous devez explicitement sécuriser le fichier pour en restreindre l’accès. Par exemple, sous Linux ou macOS, vous pouvez définir les permissions de lecture pour vous seul en exécutantchmod
:$ chmod 700 ~/.snowsql/config
Note
Si une valeur contient des caractères spéciaux (autres que des guillemets simples ou doubles), vous devez les mettre entre guillemets simples ou doubles, par exemple :
password = "my$^pwd"
Si une valeur contient des guillemets en plus d’autres caractères spéciaux, isolez ces guillemets en utilisant le backslash (
\
), par exemple :password = "my$^\"\'pwd"
Notez qu’isoler les guillemets est facultatif dans les valeurs non fermées (c’est-à-dire les valeurs qui ne contiennent pas d’autres caractères spéciaux).
Les valeurs multilignes doivent être entourées de trois guillemets simples ou doubles (
'''
ou"""
), par exemple :prompt_format='''[#FFFF00][user]@[account] [#00FF00]> '''
Section Paramètres de connexion¶
Dans la section [connections]
du fichier config
, définissez en option les paramètres de connexion par défaut pour SnowSQL, par exemple l’identificateur de compte, les identifiants de connexion utilisateur, la base de données et l’entrepôt par défaut. Vous pouvez également définir des connexions nommées afin d’effectuer plusieurs connexions simultanées à Snowflake ou de stocker différents ensembles de configurations de connexion.
Pour plus d’informations, voir Connexion par le biais de SnowSQL.
Section Options de configuration¶
Configurez le comportement de SnowSQL en ajoutant des paramètres dans la section [options]
du fichier config
:
[options] <option_name> = <option_value>
Où :
<nom_option>
est le nom de l’option (insensible à la casse). Si un nom invalide est spécifié, SnowSQL affiche une erreur.<valeur_option>
spécifie une valeur prise en charge (insensible à la casse) pour l’option, comme décrit ci-dessous.
+----------------------------+---------------------+------------------------------------------------------------------------------------+
| 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. |
+----------------------------+---------------------+------------------------------------------------------------------------------------+
Voir Référence d’options de configuration SnowSQL (dans ce chapitre) pour obtenir une description de toutes les options valides.
Note
En plus de définir les options de configuration dans le fichier config
, vous pouvez définir les options en utilisant l’une des méthodes suivantes :
En vous connectant à Snowflake, vous pouvez utiliser les paramètres de connexion
-o
ou--option
pour définir ces options. Pour plus d’informations, voir Référence Paramètres de connexion.Après vous être connecté à Snowflake, vous pouvez utiliser la commande
!set
pour définir ces options pour la session. Pour plus d’informations, voir Référence Commandes.
Section Variables¶
Dans la section [variables]
du fichier config
, vous pouvez stocker des valeurs sous forme de variables à réutiliser. Cette fonction vous permet d’utiliser des valeurs définies par l’utilisateur et des valeurs de base de données dans les requêtes.
Pour plus d’informations, voir Utilisation de variables.
Référence d’options de configuration SnowSQL¶
Les options modifient le comportement par défaut SnowSQL. Vous pouvez définir ces options à l’aide de l’une des méthodes suivantes :
Dans le fichier de configuration (comme décrit dans ce chapitre).
En utilisant le paramètre
-o
ou--option
lors de votre connexion à Snowflake.En utilisant la commande
!set
une fois connecté à Snowflake.
Note
Les noms et les valeurs des options sont insensibles à la casse.
auto_completion
¶
- Type
Booléen
- Description
Active l’auto-complétion contextuelle. Si cette option est activée, les fonctions, les noms de table et les variables stockés dans SnowSQL sont automatiquement complétés en mode interactif.
- Par défaut
auto_completion=True
client_session_keep_alive
¶
- Type
Booléen
- Description
Indique s’il faut forcer un utilisateur à se reconnecter après une période d’inactivité dans une session JDBC ou ODBC. Lorsque le paramètre est défini sur
True
, Snowflake garde la session active indéfiniment, même s’il n’y a aucune activité de l’utilisateur. Lorsque le paramètre est défini surFalse
, l’utilisateur doit se reconnecter après quatre heures d’inactivité.- Par défaut
client_session_keep_alive=False
echo
¶
- Type
Booléen
- Description
Reflète l’entrée locale. Si la valeur est définie sur
True
, reflètestdout
et le fichier de sortie.- Par défaut
echo=False
editor
¶
- Type
Chaîne (constante)
- Description
Spécifie l’éditeur à invoquer lorsque la commande
!edit
est émise dans SnowSQL. Valeurs prises en charge :
emacs
vi
vim
- Par défaut
editor=vim
empty_for_null_in_tsv
¶
- Type
Booléen
- Description
Si l’option est activée, lorsque
output_format
est réglé surTSV
, SnowSQL affiche une chaîne vide pour chaque valeur NULL.- Exemple
empty_for_null_in_tsv=True
environment_variables
¶
- Type
Liste
- Description
Spécifie les variables d’environnement à définir dans les variables SnowSQL.
- Exemple
environment_variables=PATH,USER,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY
execution_only
¶
- Type
Booléen
- Description
Si l’option es activée, SnowSQL exécute les requêtes sans récupérer de données. Cette option est utile lorsque vous souhaitez uniquement mesurer les temps d’exécution. Notez que les valeurs renvoyées incluent les latences réseau et ne sont pas uniquement des temps d’exécution côté serveur.
- Exemple
execution_only=True
exit_on_error
¶
- Type
Booléen
- Description
Si l’option est activée, SnowSQL sort lorsqu’une erreur se produit. Ce comportement est utile pour arrêter l’exécution des requêtes lorsqu’une erreur est rencontrée.
- Exemple
exit_on_error=True
fix_parameter_precedence
¶
- Type
Booléen
- Description
Contrôle la priorité parmi les sources possibles du mot de passe, du mot de passe proxy et des paramètres de phrase clé privée.
Si la valeur est True, la priorité (du plus haut au plus bas) est :
La variable d’environnement ou le paramètre de ligne de commande SnowSQL.
Les paramètres de connexion spécifiques à la connexion, qui sont les paramètres de la section de connexion nommée du fichier de configuration, par exemple la section
[connections.myconnection]
.Les paramètres de connexion par défaut, qui sont les paramètres de la section
[connections]
du fichier de configuration.Si la valeur est False, la priorité (du plus haut au plus bas) est :
Les paramètres de connexion spécifiques à la connexion, qui sont les paramètres de la section de connexion nommée du fichier de configuration, par exemple la section
[connections.myconnection]
.La variable d’environnement ou le paramètre de ligne de commande SnowSQL.
Les paramètres de connexion par défaut, qui sont les paramètres de la section
[connections]
du fichier de configuration.- Par défaut
Vrai
force_put_overwrite
¶
- Type
Booléen
- Description
Si activé, SnowSQL force la commande PUT à charger (c.-à-d. à mettre en zone de préparation) des fichiers de données depuis un répertoire/dossier local sur un ordinateur client vers la zone de préparation interne spécifiée (c.-à-d. Snowflake) sans vérifier si les fichiers existent déjà dans la zone de préparation. Si les fichiers sont déjà présents dans la zone de préparation de destination, la commande PUT écrase les fichiers existants.
- Par défaut
force_put_overwrite=False
friendly
¶
- Type
Booléen
- Description
Si l’option est désactivée, SnowSQL supprime les messages de démarrage et de sortie.
- Par défaut
friendly=True
header
¶
- Type
Booléen
- Description
Affiche l’en-tête dans la table des résultats rendue par SnowSQL. Désactiver cette option est utile lorsque vous voulez récupérer uniquement des données dans les résultats.
L’option peut être utilisée avec
output_format
ettiming
pour uniquement produire des données.- Par défaut
header=True
insecure_mode
¶
- Type
Booléen
- Description
Permet d’ignorer les vérifications de révocation de certificat à l’aide de « Online Certificate Status Protocol » (OCSP). Cette option pourrait être utilisée dans une situation d’urgence où aucun service OCSP n’est accessible. Snowflake vous recommande fortement de ne pas activer cette option, à moins que l’assistance Snowflake ne vous l’indique.
- Par défaut
insecure_mode=False
key_bindings
¶
- Type
Chaîne (constante)
- Description
Les raccourcis clavier à utiliser. Valeurs possibles :
emacs
: [CTRL]-a correspond au début, [CTRL]-e correspond à la fin. Tous les raccourcis clavier Emacs pour l’environnement REPL sont disponibles.
vi
: vous pouvez utiliser toutes les fonctions d’édition modale proposées par vi dans l’environnement REPL.- Remarque
La valeur ne peut pas être modifiée par la commande
!set
pendant la session SnowSQL. Réglez plutôt la valeur dans le fichier de configuration ou sur la ligne de commande lorsque vous vous connectez à Snowflake.- Par défaut
key_bindings=vi
log_bootstrap_file
¶
- Type
Chaîne (chemin)
- Description
Emplacement du fichier journal Bootstrap. S’il n’est pas spécifié,
log_file
est utilisé comme nom de base suivi de_bootstrap
. Par exemple, le nom de fichier journal estlog_bootstrap
par défaut.- Par défaut
log_bootstrap_file=~/.snowsql/bootlog
log_file
¶
- Type
Chaîne (chemin)
- Description
Emplacement de log_file.
Note
Vous devez disposer des autorisations nécessaires pour écrire dans le répertoire parent du fichier journal ou pour modifier l’emplacement du fichier journal.
- Par défaut
log_file=~/.snowsql/log
log_level
¶
- Type
Chaîne (constante)
- Description
Niveau de journal par défaut. Valeurs possibles :
CRITICAL
,ERROR
,WARNING
,INFO
,DEBUG
.
login_timeout
¶
- Type
Nombre
- Description
Délai de déconnexion en secondes.
- Par défaut
login_timeout=120
noup
¶
- Type
Booléen
- Description
Empêche SnowSQL de télécharger et d’installer une nouvelle version si
True
. Par défaut, SnowSQL passe automatiquement à la dernière version si aucune version n’est spécifiée.- Par défaut
noup=False
output_file
¶
- Type
Chaîne (chemin d’accès et nom du fichier)
- Description
Écrit la sortie dans le fichier spécifié en plus de la sortie du terminal.
- Par défaut
Aucun
output_format
¶
- Type
Chaîne (constante)
- Description
Spécifie le format des résultats affichés dans le terminal. Valeurs possibles :
csv
expanded
fancy_grid
grid
html
json
latex
latex_booktabs
mediawiki
orgtbl
pipe
plain
psql
rst
simple
tsv
Valeurs recommandées pour les résultats tabulaires :
psql
,grid
oufancy_grid
Valeurs recommandées pour les résultats uniquement basés sur des données (utilisées en combinaison avec
header
,timing
, etfriendly
définis surFalse
) :plain
,csv
outsv
- Par défaut
output_format=psql
paging
¶
- Type
Booléen
- Description
Lorsque l’option est activée, interrompt la sortie en fonction de la hauteur de l’écran. Cette fonction est utile pour parcourir de grands ensembles de résultats. Pour faire défiler vers le bas, appuyez sur la touche [ENTER]/[RETURN].
- Par défaut
paging=False
progress_bar
¶
- Type
Booléen
- Description
Affiche la barre de progression lors du transfert de données.
- Par défaut
progress_bar=True
prompt_format
¶
- Type
chaîne
- Description
Modifie le format d’invite SnowSQL.
L’invite SnowSQL affiche dynamiquement l’utilisateur, l’entrepôt, la base de données et le schéma actuels par défaut. Les jetons dynamiques s’écrivent [<jeton>], par exemple [utilisateur] ou [entrepôt]. Vous pouvez modifier l’ordre, le délimiteur et la couleur des objets Snowflake. Modifiez la couleur d’objet en définissant un jeton Pygments entre parenthèses.
Par exemple, modifiez l’ordre des objets sur utilisateur, sur base de données et sur schéma, puis sur entrepôt. Modifiez le délimiteur sur une période. Modifiez le nom de l’objet <utilisateur> en rouge, les noms <base de données> et <schéma> en vert et le nom <entrepôt> en bleu :
prompt_format="[#FF0000][user]@[#00FF00][database][schema][#0000FF][warehouse]"Placez des guillemets autour de la valeur pour éviter que les caractères « # » soient interprétés comme le début d’un commentaire.
- Par défaut
None
quiet
¶
- Type
Booléen
- Description
Supprime toutes les données de sortie du terminal, mais continue à afficher les messages d’erreur et les données de diagnostic.
- Par défaut
quiet=True
remove_comments
¶
- Type
Booléen
- Description
Supprime les commentaires de la sortie.
- Par défaut
remove_comments=False
remove_trailing_semicolons
¶
- Type
Booléen
- Description
Supprime les points-virgules de fin d’un texte SQL avant d’envoyer des requêtes à Snowflake. Notez que la suppression des points-virgules peut empêcher Snowflake d’utiliser les résultats de différents clients mis en cache lorsque le paramètre de session USE_CACHED_RESULT est activé.
- Par défaut
remove_trailing_semicolons=True
results
¶
- Type
Booléen
- Description
Renvoie les résultats de la requête. Si
False
, la requête est exécutée de manière asynchrone, et aucun résultat, y compris des messages d’erreur, n’est renvoyé.- Par défaut
results=True
rowset_size
¶
- Type
Nombre
- Description
Nombre de lignes à récupérer en une fois en mode interactif. Les résultats sont ensuite récupérés pour la sortie d’un ensemble de lignes à la fois.
- Par défaut
rowset_size=1000
sfqid
¶
- Type
Booléen
- Description
Inclut l’ID de requête Snowflake dans le résumé des résultats.
- Par défaut
sfqid=False
sfqid_in_error
¶
- Type
Booléen
- Description
Inclut l’ID de requête Snowflake dans les messages d’erreur.
- Par défaut
sfqid_in_error=False
stop_on_error
¶
- Type
Booléen
- Description
Lorsqu’une erreur est rencontrée, arrête l’exécution de la requête, mais ne se termine pas.
- Par défaut
stop_on_error=False
syntax_style
¶
- Type
Chaîne (constante)
- Description
Définit les couleurs de texte pour SnowSQL. Actuellement, la seule valeur prise en charge est
default
.- Par défaut
syntax_style=default
timing
¶
- Type
Booléen
- Description
Indique s’il faut afficher le nombre de lignes produites et le temps écoulé pour les instructions SQL qui ont été exécutées. Ces informations sont affichées sous la forme d’une ligne de texte sous la table des résultats rendue par SnowSQL. Si
False
, la ligne de texte sous la table des résultats n’est pas affichée.Peut être utilisé en conjonction avec
header
etoutput_format
pour produire des données de sortie uniquement.- Par défaut
timing=True
timing_in_output_file
¶
- Type
Booléen
- Description
Spécifie s’il faut inclure les détails de l’heure d’exécution dans le fichier de sortie, si l’option
output_file
est configurée. Nécessite également de définir l’optiontiming
surTrue
.Si le paramètre est défini sur
False
, la ligne de texte sous la table des résultats n’est pas incluse dans le fichier de sortie.- Par défaut
timing_in_output_file=False
variable_substitution
¶
- Type
Booléen
- Description
Remplace les variables par les valeurs. Voir Utilisation de variables.
- Par défaut
variable_substitution=False
wrap
¶
- Type
Booléen
- Description
Inclut la sortie en fonction de la largeur du terminal. Si
False
, les sorties sont tronquées.- Par défaut
wrap=True