Konfigurieren von SnowSQL

Unter diesem Thema wird beschrieben, wie Sie SnowSQL mithilfe von Verbindungsparametern, Konfigurationsoptionen und Variablen konfigurieren.

Unter diesem Thema:

SnowSQL-config-Datei

Die SnowSQL-Konfigurationsdatei mit dem Namen config speichert Verbindungsparameter, Standardeinstellungen und Variablen. Text wird in der UTF-8-Codierung gespeichert.

Ändern Sie die Konfigurationsdatei wie folgt:

  1. Öffnen Sie die config-Konfigurationsdatei in einem Texteditor. Der Standardspeicherort der Datei ist:

    Linux/macOS

    ~/.snowsql/

    Windows

    %USERPROFILE%\.snowsql\

    Bemerkung

    Sie können den Standardspeicherort ändern, indem Sie den Verbindungsparameter --config <Pfad> beim Starten von SnowSQL einbeziehen.

  2. Ändern Sie die Einstellungen in den folgenden Abschnitten:

Achtung

  • Das Kennwort wird im Nur-Text-Format in der config-Datei 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 Sie chmod 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, z. B.:

    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. Kontoname, Regions-ID, Benutzeranmeldeinformationen, Standarddatenbank und 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 Datei config 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             | 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 mit dem Verbindungsparameter -o oder --option diese Optionen 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 dieser Funktion können Sie benutzerdefinierte 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 auf False 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 zu stdout 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 auf TSV gesetzt ist, gibt SnowSQL für jeden NULL-Wert eine leere Zeichenfolge aus.

Beispiel

empty_for_null_in_tsv=True

environment_variables

Typ

Liste

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 Stagingdatendateien aus einem 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 Zielstagingbereich 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

insecure_mode

Typ

Boolesch

Beschreibung

Überspringt die Prüfungen zum Sperren von Zertifikaten 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, [CTRL]-e ist Ende. Alle Emacs-Tastenbelegungen für die REPL-Umgebung sind verfügbar.

  • vi: Sie können alle von vi angebotenen, modalen Bearbeitungsfunktionen in der REPL-Umgebung 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äßig log_bootstrap.

Standard

log_bootstrap_file=~/.snowsql/bootlog

log_file

Typ

Zeichenfolge (Pfad)

Beschreibung

Speicherort von log_file.

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 oder fancy_grid

Empfohlene Werte für reine Datenergebnisse (verwendet in Kombination mit header und timing auf False gesetzt): plain, csv oder tsv

Standard

output_format=psql

paging

Typ

Boolesch

Beschreibung

Wenn aktiviert, wird die Ausgabe je nach Bildschirmhöhe angehalten. Diese Funktion 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. [user] 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

Wenn ein Fehler auftritt, stoppt die Ausführung der Abfrage, wird 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 soll. 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 und output_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 Option timing auf True 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.

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