Konfigurieren von SnowSQL¶
Unter diesem Thema wird beschrieben, wie Sie SnowSQL mithilfe von Verbindungsparametern, Konfigurationsoptionen und Variablen konfigurieren.
Unter diesem Thema:
SnowSQL-config
-Datei¶
SnowSQL unterstützt die Verwendung mehrerer Konfigurationsdateien, sodass Organisationen Basiswerte für Verbindungsparameter, Standardeinstellungen und Variablen definieren können, während einzelne Benutzer ihre persönlichen Einstellungen in ihren eigenen <HOME_DIR>/.snowsql/config
-Dateien anpassen können. Beim Start von SnowSQL werden die Werte der Konfigurationsparameter der Reihe nach aus den folgenden Konfigurationsdateien geladen, wobei die Werte der zuvor geladenen Dateien überschrieben werden:
/etc/snowsql.cnf
/etc/snowflake/snowsql.cnf
/usr/local/etc/snowsql.cnf
<HOME_DIR>/.snowsql.cnf
(nur aus Gründen der Abwärtskompatibilität unterstützt)<HOME_DIR>/.snowsql/config
Wenn beispielsweise die Konfigurationsdatei /etc/snowsql.cnf
den Parameter log_level
auf info
setzt, können Sie dies außer Kraft setzen, indem Sie den Parameter in Ihrer <HOME_DIR>/.snowsql/config
-Datei auf debug
setzen.
Sie müssen diese Konfigurationsdateien in UTF-8-Codierung erstellen.
Ändern Sie die Konfigurationsdatei wie folgt:
Öffnen Sie die SnowSQL-Konfigurationsdatei (mit dem Namen
config
) in einem Texteditor. Der Standardspeicherort der Datei ist:- Linux/macOS
~/.snowsql/
- Windows
%USERPROFILE%\.snowsql\
Bemerkung
Sie können den Standardspeicherort ändern, indem Sie beim Start von SnowSQL das Befehlszeilenflag
--config path
angeben.Ändern Sie die Einstellungen in den folgenden Abschnitten:
Achtung
Das Kennwort wird im Nur-Text-Format in der Datei
config
gespeichert. Sie müssen die Datei explizit sichern, um den Zugriff einzuschränken. Beispielsweise können Sie unter Linux oder macOS die Leserechte für sich allein festlegen, indem Siechmod
ausführen:$ chmod 700 ~/.snowsql/config
Bemerkung
Wenn ein Wert Sonderzeichen enthält (außer einfachen oder doppelten Anführungszeichen), müssen Sie ihn entweder in einfache oder doppelte Anführungszeichen setzen. Beispiel:
password = "my$^pwd"
Wenn ein Wert neben Anführungszeichen zusätzlich weitere Sonderzeichen enthält, können Sie diese Anführungszeichen mit dem Backslash (
\
) als Escape-Zeichen umschließen, z. B.:password = "my$^\"\'pwd"
Beachten Sie, dass das Umschließen von Anführungszeichen mit Escape-Zeichen bei nicht eingeschlossenen Werten (d. h. Werten, die keine anderen Sonderzeichen enthalten) optional ist.
Mehrzeilige Werte müssen in drei einfache oder doppelte Anführungszeichen (
'''
oder"""
) eingeschlossen werden, z. B.:prompt_format='''[#FFFF00][user]@[account] [#00FF00]> '''
Abschnitt Verbindungsparameter¶
Legen Sie im Abschnitt [connections]
der Datei config
optional die Standardverbindungsparameter für SnowSQL fest, z. B. Kontobezeichner, Benutzeranmeldeinformationen, Standarddatenbank und Standard-Warehouse. Sie können auch benannte Verbindungen definieren, um mehrere gleichzeitige Verbindungen zu Snowflake herzustellen oder verschiedene Gruppen von Verbindungskonfigurationen zu speichern.
Weitere Informationen dazu finden Sie unter Verbinden über SnowSQL.
Abschnitt Konfigurationsoptionen¶
Konfigurieren Sie das Verhalten von SnowSQL, indem Sie im Abschnitt [options]
der config
-Datei Einstellungen hinzufügen:
[options] <option_name> = <option_value>
Wobei:
<Optionsname>
ist der Name der Option (Groß-/Kleinschreibung nicht relevant). Wenn ein ungültiger Name angegeben wird, zeigt SnowSQL einen Fehler an.<Optionswert>
gibt einen unterstützten Wert (Groß-/Kleinschreibung nicht relevant) für die Option an, wie im Folgenden beschrieben.
+----------------------------+---------------------+------------------------------------------------------------------------------------+
| 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. |
+----------------------------+---------------------+------------------------------------------------------------------------------------+
Eine Beschreibung aller gültigen Optionen finden Sie unter Übersicht der SnowSQL-Konfigurationsoptionen (unter diesem Thema).
Bemerkung
Zusätzlich zum Einstellen der Konfigurationsoptionen in der config
-Datei können Sie die Optionen mit einer der folgenden Methoden festlegen:
Beim Verbinden mit Snowflake können Sie diese Optionen mit dem Verbindungsparameter
-o
oder--option
festlegen. Weitere Informationen dazu finden Sie unter Übersicht der Verbindungsparameter.Nach dem Verbinden mit Snowflake können Sie mit dem Befehl
!set
diese Optionen für die Sitzung festlegen. Weitere Informationen dazu finden Sie unter Befehlsreferenz.
Abschnitt Variablen¶
Im Abschnitt [variables]
der config
-Datei können Sie Werte als Variablen zur Wiederverwendung speichern. Mit diesem Feature können Sie benutzerdefinierte Werte und Datenbankwerte in Abfragen verwenden.
Weitere Informationen dazu finden Sie unter Verwenden von Variablen.
Übersicht der SnowSQL-Konfigurationsoptionen¶
Optionen ändern das Standardverhalten von SnowSQL. Sie können diese Optionen mit einer der folgenden Methoden festlegen:
In der Konfigurationsdatei (wie unter diesem Thema beschrieben)
Beim Verbinden mit Snowflake unter Verwendung des Parameters
-o
oder--option
Bei bestehender Snowflake-Verbindung mit dem Befehl
!set
Bemerkung
Bei Optionsnamen und -werten ist die Groß-/Kleinschreibung nicht relevant.
auto_completion
¶
- Typ
Boolesch
- Beschreibung
Ermöglicht die kontextsensitive Autovervollständigung. Wenn aktiviert, werden Funktionen, Tabellennamen und Variablen, die in SnowSQL gespeichert sind, im interaktiven Modus automatisch ergänzt.
- Standard
auto_completion=True
client_session_keep_alive
¶
- Typ
Boolesch
- Beschreibung
Gibt an, ob sich ein Benutzer nach einem Zeitraum der Inaktivität in einer JDBC- oder ODBC-Sitzung erneut anmelden muss. Wenn auf
True
eingestellt, hält Snowflake die Sitzung unbegrenzt aktiv, auch wenn der Benutzer inaktiv ist. Wenn aufFalse
eingestellt, muss sich der Benutzer nach vier Stunden Inaktivität erneut anmelden.- Standard
client_session_keep_alive=False
echo
¶
- Typ
Boolesch
- Beschreibung
Ermöglicht Echo lokaler Eingaben. Wenn auf
True
eingestellt, werden sowohl zustdout
als auch zur Ausgabedatei Echos ausgegeben.- Standard
echo=False
editor
¶
- Typ
Zeichenfolge (Konstante)
- Beschreibung
Gibt den Editor an, der aufgerufen werden soll, wenn der Befehl
!edit
in SnowSQL ausgeführt wird. Unterstützte Werte:
emacs
vi
vim
- Standard
editor=vim
empty_for_null_in_tsv
¶
- Typ
Boolesch
- Beschreibung
Wenn aktiviert und
output_format
aufTSV
gesetzt ist, gibt SnowSQL für jeden NULL-Wert eine leere Zeichenfolge aus.- Beispiel
empty_for_null_in_tsv=True
environment_variables
¶
- Typ
List
- Beschreibung
Gibt die Umgebungsvariablen an, die in den SnowSQL-Variablen gesetzt werden sollen.
- Beispiel
environment_variables=PATH,USER,AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY
execution_only
¶
- Typ
Boolesch
- Beschreibung
Wenn aktiviert, führt SnowSQL Abfragen aus, ohne Daten abzurufen. Diese Option ist nützlich, wenn Sie nur Ausführungszeiten messen möchten. Beachten Sie, dass die zurückgegebenen Werte jegliche Netzwerklatenzen enthalten und keine reinen serverseitigen Ausführungszeiten sind.
- Beispiel
execution_only=True
exit_on_error
¶
- Typ
Boolesch
- Beschreibung
Wenn aktiviert, wird SnowSQL beendet, wenn ein Fehler auftritt. Dieses Verhalten ist nützlich, um die Ausführung von Abfragen zu stoppen, wenn ein Fehler auftritt.
- Beispiel
exit_on_error=True
fix_parameter_precedence
¶
- Typ
Boolesch
- Beschreibung
Steuert die Rangfolge zwischen den möglichen Quellen für die Parameter zu Kennwort, Proxykennwort und dem Ausdruck für private Schlüssel.
Wenn der Wert „true“ ist, gilt folgende Rangfolge (von der höchsten zur niedrigsten):
Die Umgebungsvariable oder der SnowSQL-Befehlszeilenparameter.
Die verbindungsspezifischen Verbindungsparameter, d. h. die Parameter im benannten Verbindungsabschnitt der Konfigurationsdatei wie der Abschnitt
[connections.myconnection]
.Die Standardverbindungsparameter, d. h. die Parameter im Abschnitt
[connections]
der Konfigurationsdatei.Wenn der Wert „false“ ist, gilt folgende Rangfolge (von der höchsten zur niedrigsten):
Die verbindungsspezifischen Verbindungsparameter, d. h. die Parameter im benannten Verbindungsabschnitt der Konfigurationsdatei wie der Abschnitt
[connections.myconnection]
.Die Umgebungsvariable oder der SnowSQL-Befehlszeilenparameter.
Die Standardverbindungsparameter, d. h. die Parameter im Abschnitt
[connections]
der Konfigurationsdatei.- Standard
True
force_put_overwrite
¶
- Typ
Boolesch
- Beschreibung
Wenn diese Option aktiviert ist, erzwingt SnowSQL, dass der PUT-Befehl die Datendateien aus dem lokalen Verzeichnis bzw. Ordner auf einem Clientcomputer in den angegebenen internen (d. h. Snowflake) Stagingbereich hochlädt, ohne zu prüfen, ob die Dateien bereits im Stagingbereich vorhanden sind. Wenn die Dateien bereits im Ziel-Stagingbereich vorhanden sind, werden mit dem PUT-Befehl die vorhandenen Dateien überschrieben.
- Standard
force_put_overwrite=False
friendly
¶
- Typ
Boolesch
- Beschreibung
Wenn deaktiviert, unterdrückt SnowSQL die Start- und Endemeldungen.
- Standard
friendly=True
header
¶
- Typ
Boolesch
- Beschreibung
Zeigt den Header in der mit SnowSQL gerenderten Ergebnistabelle an. Das Deaktivieren dieser Option ist nützlich, wenn Sie nur Daten in den Ergebnissen abrufen möchten.
Kann mit
output_format
undtiming
verwendet werden, um eine reine Datenausgabe zu erstellen.- Standard
header=True
insecure_mode
¶
- Typ
Boolesch
- Beschreibung
Überspringt die Prüfungen der Zertifikatssperre mithilfe des Online Certificate Status Protocol (OCSP). Diese Option kann in einer Notsituation verwendet werden, in der kein OCSP-Service verfügbar ist. Snowflake empfiehlt dringend, diese Option nicht zu aktivieren, es sei denn, Sie werden vom Snowflake-Support dazu aufgefordert.
- Standard
insecure_mode=False
key_bindings
¶
- Typ
Zeichenfolge (Konstante)
- Beschreibung
Zu verwendende Tastenkombinationen. Mögliche Werte:
emacs
: [CTRL]-a ist Home/Anfang, [CTRL]-e ist Ende. Alle Emacs-Tastenbelegungen für die REPL-Umgebung sind verfügbar.
vi
: Sie können in der REPL-Umgebung alle von vi angebotenen modalen Bearbeitungsfeatures nutzen.- Hinweis
Der Wert kann während der SnowSQL-Sitzung nicht durch den Befehl
!set
geändert werden. Legen Sie den Wert stattdessen in der Konfigurationsdatei oder über die Befehlszeile fest, wenn Sie sich mit Snowflake verbinden.- Standard
key_bindings=vi
log_bootstrap_file
¶
- Typ
Zeichenfolge (Pfad)
- Beschreibung
Speicherort der Bootstrap-Protokolldatei. Wenn nicht angegeben, wird
log_file
als Basisname verwendet, gefolgt von_bootstrap
. Beispielsweise lautet der Name der Protokolldatei standardmäßiglog_bootstrap
.- Standard
log_bootstrap_file=~/.snowsql/bootlog
log_file
¶
- Typ
Zeichenfolge (Pfad)
- Beschreibung
Speicherort von „log_file“.
Bemerkung
Sie müssen über die Berechtigung zum Schreiben in das übergeordnete Verzeichnis der Protokolldatei oder zum Ändern des Speicherorts der Protokolldatei verfügen.
- Standard
log_file=~/.snowsql/log
log_level
¶
- Typ
Zeichenfolge (Konstante)
- Beschreibung
Standard-Protokolliergrad. Mögliche Werte:
CRITICAL
,ERROR
,WARNING
,INFO
,DEBUG
.
login_timeout
¶
- Typ
Zahl
- Beschreibung
Timeout für Anmeldung in Sekunden.
- Standard
login_timeout=120
noup
¶
- Typ
Boolesch
- Beschreibung
Verhindert, dass SnowSQL eine neue Version herunterlädt und installiert, wenn
True
. Standardmäßig wird SnowSQL automatisch auf die neueste Version aktualisiert, wenn keine Version angegeben ist.- Standard
noup=False
output_file
¶
- Typ
Zeichenfolge (Pfad und Dateiname)
- Beschreibung
Schreibt die Ausgabe zusätzlich zur Terminalausgabe in die angegebene Datei.
- Standard
Keine
output_format
¶
- Typ
Zeichenfolge (Konstante)
- Beschreibung
Gibt das Format der im Terminal angezeigten Ergebnisse an. Mögliche Werte:
csv
expanded
fancy_grid
grid
html
json
latex
latex_booktabs
mediawiki
orgtbl
pipe
plain
psql
rst
simple
tsv
Empfohlene Werte für tabellarische Ergebnisse:
psql
,grid
oderfancy_grid
Empfohlene Werte für reine Datenergebnisse (verwendet in Kombination mit
header
,timing
undfriendly
aufFalse
gesetzt):plain
,csv
odertsv
- Standard
output_format=psql
paging
¶
- Typ
Boolesch
- Beschreibung
Wenn aktiviert, wird die Ausgabe je nach Bildschirmhöhe angehalten. Dieses Feature ist nützlich für das Durchsuchen großer Resultsets. Um nach unten zu scrollen, drücken Sie die Taste [ENTER]/[RETURN].
- Standard
paging=False
progress_bar
¶
- Typ
Boolesch
- Beschreibung
Zeigt während der Datenübertragung eine Statusanzeige an.
- Standard
progress_bar=True
prompt_format
¶
- Typ
Zeichenfolge
- Beschreibung
Ändert das Eingabeaufforderungsformat von SnowSQL.
Die Eingabeaufforderung von SnowSQL zeigt dynamisch den aktuellen Benutzer, das Warehouse, die Datenbank und das Schema an. Dynamische Token werden als [<Token>] geschrieben, z. B. [Benutzer] oder [Warehouse]. Sie können die Reihenfolge, das Trennzeichen und die Farbe der Snowflake-Objekte ändern. Ändern Sie die Objektfarbe, indem Sie ein Token mit Farbcode in Klammern definieren.
Ändern Sie beispielsweise die Objektreihenfolge in Benutzer, Datenbank und Schema, dann Warehouse. Ändern Sie das Trennzeichen in einen Punkt. Ändern Sie die Farbe für den [Benutzer]-Objektnamen in rot, die Namen für [Datenbank] und [Schema> in grün und den [Warehouse]-Namen in blau:
prompt_format="[#FF0000][user]@[#00FF00][database][schema][#0000FF][warehouse]"Setzen Sie den Wert in Anführungszeichen, um zu verhindern, dass die „#“- Zeichen als Kommentaranfang interpretiert werden.
- Standard
None
quiet
¶
- Typ
Boolesch
- Beschreibung
Entfernt alle Ausgabedaten vom Terminal, zeigt aber weiterhin Fehlermeldungen und Diagnosedaten an.
- Standard
quiet=True
remove_comments
¶
- Typ
Boolesch
- Beschreibung
Entfernt Kommentare aus der Ausgabe.
- Standard
remove_comments=False
remove_trailing_semicolons
¶
- Typ
Boolesch
- Beschreibung
Entfernt nachstehende Semikolons aus SQL-Text, bevor Abfragen an Snowflake gesendet werden. Beachten Sie, dass das Entfernen der Semikolons verhindern kann, dass Snowflake zwischengespeicherte Ergebnisse aus verschiedenen Clients verwendet, wenn der Sitzungsparameter USE_CACHED_RESULT aktiviert ist.
- Standard
remove_trailing_semicolons=True
results
¶
- Typ
Boolesch
- Beschreibung
Gibt die Abfrageergebnisse zurück. Bei
False
wird die Abfrage asynchron ausgeführt. Es werden weder ein Ergebnis noch Fehlermeldungen zurückgegeben.- Standard
results=True
rowset_size
¶
- Typ
Zahl
- Beschreibung
Anzahl der Zeilen, die im interaktiven Modus auf einmal abgerufen werden sollen. Die Ergebnisse werden dann für die Ausgabe von jeweils einem Rowset nach dem anderen abgerufen.
- Standard
rowset_size=1000
sfqid
¶
- Typ
Boolesch
- Beschreibung
Fügt die Snowflake-Abfrage-ID in die Ergebniszusammenfassung ein.
- Standard
sfqid=False
sfqid_in_error
¶
- Typ
Boolesch
- Beschreibung
Beinhaltet die Snowflake-Abfrage-ID in Fehlermeldungen.
- Standard
sfqid_in_error=False
stop_on_error
¶
- Typ
Boolesch
- Beschreibung
Bei Auftreten eines Fehlers wird die Ausführung der Abfrage gestoppt, aber nicht beendet.
- Standard
stop_on_error=False
syntax_style
¶
- Typ
Zeichenfolge (Konstante)
- Beschreibung
Legt die Textfarben für SnowSQL fest. Derzeit wird nur der Wert
default
unterstützt.- Standard
syntax_style=default
timing
¶
- Typ
Boolesch
- Beschreibung
Gibt an, ob die Anzahl der produzierten Zeilen und die verstrichene Zeit für ausgeführte SQL-Anweisungen angezeigt werden sollen. Diese Informationen werden als Textzeile unter der von SnowSQL gerenderten Ergebnistabelle angezeigt. Wenn auf
False
gesetzt, wird die Textzeile nicht unter der Ergebnistabelle angezeigt.Kann in Verbindung mit
header
undoutput_format
verwendet werden, um eine reine Datenausgabe zu erstellen.- Standard
timing=True
timing_in_output_file
¶
- Typ
Boolesch
- Beschreibung
Gibt an, ob die Details zur Ausführungszeit in die Ausgabedatei aufgenommen werden sollen, wenn die Option
output_file
konfiguriert ist. Sie müssen auch die Optiontiming
aufTrue
setzen.Wenn auf
False
gesetzt, wird die Textzeile nicht unter der Ergebnistabelle angezeigt.- Standard
timing_in_output_file=False
variable_substitution
¶
- Typ
Boolesch
- Beschreibung
Ersetzt Variablen durch die Werte. Siehe Verwenden von Variablen.
- Standard
variable_substitution=False
wrap
¶
- Typ
Boolesch
- Beschreibung
Nimmt einen Zeilenumbruch der Ausgabe gemäß Breite des Terminalfensters vor. Wenn
False
, wird die Ausgabe abgeschnitten.- Standard
wrap=True