Konfigurieren von SnowSQL¶
Unter diesem Thema wird beschrieben, wie Sie SnowSQL mithilfe von Verbindungsparametern, Konfigurationsoptionen und Variablen konfigurieren.
Allgemeine Informationen zur SnowSQL-Datei von config¶
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.
Der Befehl snowsql generiert bei der erstmaligen Ausführung eine Konfigurationsdatei ähnlich der folgenden.
Sie müssen diese Konfigurationsdateien in UTF-8-Codierung erstellen.
SnowSQL-Konfigurationsdatei ändern¶
So ändern Sie die Konfigurationsdatei:
Ö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 pathangeben.Ändern Sie die Einstellungen in den folgenden Abschnitten:
Achtung
Das Kennwort wird im Nur-Text-Format in der Datei
configgespeichert. 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 Siechmodausführen:
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:
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.: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.:
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:
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.
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
-ooder--optionfestlegen. Weitere Informationen dazu finden Sie unter Übersicht der Verbindungsparameter.Nach dem Verbinden mit Snowflake können Sie mit dem Befehl
!setdiese 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
-ooder--optionBei 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
Trueeingestellt, hält Snowflake die Sitzung unbegrenzt aktiv, auch wenn der Benutzer inaktiv ist. Wenn aufFalseeingestellt, 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
Trueeingestellt, werden sowohl zustdoutals auch zur Ausgabedatei Echos ausgegeben.- Standard:
echo=False
editor¶
- Typ:
Zeichenfolge (Konstante)
- Beschreibung:
Gibt den Editor an, der aufgerufen werden soll, wenn der Befehl
!editin 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_formataufTSVgesetzt 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_formatundtimingverwendet 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 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
!setgeä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_fileals 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=True
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
tsvEmpfohlene Werte für tabellarische Ergebnisse:
psql,gridoderfancy_gridEmpfohlene Werte für reine Datenergebnisse (verwendet in Kombination mit
header,timingundfriendlyaufFalsegesetzt):plain,csvodertsv- 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:
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
Falsewird 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.
Anmerkung: Sie müssen auch
timing_in_output_file=Trueeinstellen, umsqfidzur Spooldatei hinzufügen zu können.- 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
defaultunterstü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
Falsegesetzt, wird die Textzeile nicht unter der Ergebnistabelle angezeigt.Kann in Verbindung mit
headerundoutput_formatverwendet 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_filekonfiguriert ist. Sie müssen auch die OptiontimingaufTruesetzen.Wenn auf
Falsegesetzt, 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