Parameterverwaltung¶
Snowflake bietet drei Arten von Parametern, die für Ihr Konto eingerichtet werden können:
Kontoparameter, die sich auf Ihr gesamtes Konto auswirken.
Sitzungsparameter, die für Benutzer und ihre Sitzungen voreingestellt sind.
Objektparameter, die für Objekte (Warehouse, Datenbanken, Schemata und Tabellen) voreingestellt sind.
Alle Parameter haben Standardwerte, die auf Kontoebene überschrieben werden können. Um Standardwerte auf Kontoebene zu überschreiben, müssen Sie ein Kontoadministrator sein (d. h. der Benutzer, dem die Rolle ACCOUNTADMIN zugewiesen wurde).
Darüber hinaus können die Standardwerte für Sitzungs- und Objektparameter auf jeder Ebene der Parameterhierarchie überschrieben werden.
Unter diesem Thema:
Parameter für Ihr Konto anzeigen¶
Um eine Liste der Parameter und ihrer aktuellen Werte für Ihr Konto sowie ihrer Standardwerte anzuzeigen, verwenden Sie den Befehl SHOW PARAMETERS mit der folgenden Syntax:
SHOW PARAMETERS [ LIKE '<pattern>' ] IN ACCOUNT
Zum Beispiel, um eine vollständige Liste aller Parameter auf Kontoebene anzuzeigen:
SHOW PARAMETERS IN ACCOUNT; +-------------------------------------+----------------------------------+----------------------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | key | value | default | level | description | |-------------------------------------+----------------------------------+----------------------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ABORT_DETACHED_QUERY | false | false | | If true, Snowflake will automatically abort queries when it detects that the client has disappeared. | | AUTOCOMMIT | true | true | | The autocommit property determines whether is statement should to be implicitly | | | | | | wrapped within a transaction or not. If autocommit is set to true, then a | | | | | | statement that requires a transaction is executed within a transaction | | | | | | implicitly. If autocommit is off then an explicit commit or rollback is required | | | | | | to close a transaction. The default autocommit value is true. | | AUTOCOMMIT_API_SUPPORTED | true | true | | Whether autocommit feature is enabled for this client. This parameter is for | | | | | | Snowflake use only. | | BINARY_INPUT_FORMAT | HEX | HEX | | input format for binary | | BINARY_OUTPUT_FORMAT | HEX | HEX | | display format for binary | | CLIENT_ENCRYPTION_KEY_SIZE | 128 | 128 | | Client-side encryption key size in bits. Either 128 or 256. | | CLIENT_SESSION_KEEP_ALIVE | false | false | | If true, client session will not expire automatically | | DATA_RETENTION_TIME_IN_DAYS | 1 | 1 | | number of days to retain the old version of deleted/updated data | | DATE_INPUT_FORMAT | AUTO | AUTO | | input format for date | | DATE_OUTPUT_FORMAT | YYYY-MM-DD | YYYY-MM-DD | | display format for date | | ERROR_ON_NONDETERMINISTIC_MERGE | true | true | | raise an error when attempting to merge-update a row that joins many rows | | ERROR_ON_NONDETERMINISTIC_UPDATE | false | false | | raise an error when attempting to update a row that joins many rows | | LOCK_TIMEOUT | 43200 | 43200 | | Number of seconds to wait while trying to lock a resource, before timing out | | | | | | and aborting the statement. A value of 0 turns off lock waiting i.e. the | | | | | | statement must acquire the lock immediately or abort. If multiple resources | | | | | | need to be locked by the statement, the timeout applies separately to each | | | | | | lock attempt. | | MAX_CONCURRENCY_LEVEL | 8 | 8 | | Concurrency level for SQL statements (i.e. queries and DML) executed by a warehouse cluster (used to determine when statements are queued or additional clusters are started). | | NETWORK_POLICY | | | | Network policy assigned for the given target. | | PERIODIC_DATA_REKEYING | false | false | | If true, Snowflake will re-encrypt data that was encrypted more than a year ago. | | QUERY_TAG | | | | String (up to 2000 characters) used to tag statements executed by the session | | QUOTED_IDENTIFIERS_IGNORE_CASE | false | false | | If true, the case of quoted identifiers is ignored | | ROWS_PER_RESULTSET | 0 | 0 | | maxium number of rows in a result set | | SAML_IDENTITY_PROVIDER | | | | Authentication attributes for the SAML Identity provider | | SSO_LOGIN_PAGE | true | false | ACCOUNT | Enable federated authentication for console login and redirects preview page to console login | | STATEMENT_QUEUED_TIMEOUT_IN_SECONDS | 0 | 0 | | Timeout in seconds for queued statements: statements will automatically be canceled if they are queued on a warehouse for longer than this amount of time; disabled if set to zero. | | STATEMENT_TIMEOUT_IN_SECONDS | 0 | 0 | | Timeout in seconds for statements: statements will automatically be canceled if they run for longer than this amount of time; disabled if set to zero. | | TIMESTAMP_DAY_IS_ALWAYS_24H | false | true | SYSTEM | If set, arithmetic on days always uses 24 hours per day, | | | | | | possibly not preserving the time (due to DST changes) | | TIMESTAMP_INPUT_FORMAT | AUTO | AUTO | | input format for timestamp | | TIMESTAMP_LTZ_OUTPUT_FORMAT | | | | Display format for TIMESTAMP_LTZ values. If empty, TIMESTAMP_OUTPUT_FORMAT is used. | | TIMESTAMP_NTZ_OUTPUT_FORMAT | YYYY-MM-DD HH24:MI:SS.FF3 | YYYY-MM-DD HH24:MI:SS.FF3 | SYSTEM | Display format for TIMESTAMP_NTZ values. If empty, TIMESTAMP_OUTPUT_FORMAT is used. | | TIMESTAMP_OUTPUT_FORMAT | YYYY-MM-DD HH24:MI:SS.FF3 TZHTZM | YYYY-MM-DD HH24:MI:SS.FF3 TZHTZM | SYSTEM | Default display format for all timestamp types. | | TIMESTAMP_TYPE_MAPPING | TIMESTAMP_NTZ | TIMESTAMP_NTZ | SYSTEM | If TIMESTAMP type is used, what specific TIMESTAMP* type it should map to: | | | | | | TIMESTAMP_LTZ (default), TIMESTAMP_NTZ or TIMESTAMP_TZ | | TIMESTAMP_TZ_OUTPUT_FORMAT | | | | Display format for TIMESTAMP_TZ values. If empty, TIMESTAMP_OUTPUT_FORMAT is used. | | TIMEZONE | America/Los_Angeles | America/Los_Angeles | | time zone | | TIME_INPUT_FORMAT | AUTO | AUTO | | input format for time | | TIME_OUTPUT_FORMAT | HH24:MI:SS | HH24:MI:SS | | display format for time | | TRANSACTION_ABORT_ON_ERROR | false | false | | If this parameter is true, and a statement issued within a non-autocommit | | | | | | transaction returns with an error, then the non-autocommit transaction is | | | | | | aborted. All statements issued inside that transaction will fail until an | | | | | | commit or rollback statement is executed to close that transaction. | | TRANSACTION_DEFAULT_ISOLATION_LEVEL | READ COMMITTED | READ COMMITTED | | The default isolation level when starting a starting a transaction, when no | | | | | | isolation level was specified | | TWO_DIGIT_CENTURY_START | 1970 | 1970 | | For 2-digit dates, defines a century-start year. | | | | | | For example, when set to 1980: | | | | | | - parsing a string '79' will produce 2079 | | | | | | - parsing a string '80' will produce 1980 | | UNSUPPORTED_DDL_ACTION | ignore | ignore | | The action to take upon encountering an unsupported ddl statement | | USE_CACHED_RESULT | true | true | | If enabled, query results can be reused between successive invocations of the same query as long as the original result has not expired | +-------------------------------------+----------------------------------+----------------------------------+---------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Notieren Sie sich in der Ausgabe die Spalten value
und level
:
value
gibt den aktuellen Wert für jeden Parameter an.level
gibt an, woher der aktuelle Wert kommt. Wenn die Spaltelevel
für einen Parameter leer ist, wird der Parameter nicht explizit gesetzt und der aktuelle Wert ist der Standardwert.
Parametern für Ihr Konto ändern¶
Um einen Parameter für Ihr Konto zu ändern, melden Sie sich bei Snowflake als Kontoadministrator an und verwenden den Befehl ALTER ACCOUNT mit der folgenden Syntax:
ALTER ACCOUNT SET <param> = <value>
Zum Beispiel, um den Sitzungsparameter DATE_OUTPUT_FORMAT festzulegen:
ALTER ACCOUNT SET DATE_OUTPUT_FORMAT = 'DD/MM/YYYY'; SHOW PARAMETERS LIKE 'DATE_OUTPUT%' IN ACCOUNT; +--------------------+------------+------------+---------+-------------------------+ | key | value | default | level | description | |--------------------+------------+------------+---------+-------------------------| | DATE_OUTPUT_FORMAT | DD/MM/YYYY | YYYY-MM-DD | ACCOUNT | display format for date | +--------------------+------------+------------+---------+-------------------------+Beachten Sie, dass die Spalte
level
in der Ausgabe den Wert für den Parameter anzeigt, der derzeit auf Kontoebene eingestellt ist.
Dies legt fest, dass das Standardanzeigeformat für alle Daten in einer Sitzung DD/MM/YYYY anstelle von YYYY-MM-DD ist (z. B. 23/04/2016 anstelle von 2016-04-23). Beachten Sie, dass dieses Datumsformat nur die Standardeinstellung ist und für jeden einzelnen Benutzer oder jede Sitzung überschrieben werden kann.
Parameter zurücksetzen¶
Um einen Parameter für Ihr Konto wieder auf den Standard zurückzusetzen, verwenden Sie ALTER ACCOUNT mit der folgenden Syntax:
ALTER ACCOUNT UNSET <param>
Zum Beispiel, um den Sitzungsparameter DATE_OUTPUT_FORMAT auf seinen Standardwert zurückzusetzen:
ALTER ACCOUNT UNSET DATE_OUTPUT_FORMAT;