timezone - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

timezone

Valeurs (par défaut en gras)

UTC, fuseau horaire

Syntaxe

SET timezone { TO | = } [ time_zone | DEFAULT ] SET time zone [ time_zone | DEFAULT ]

Description

Définit le fuseau horaire de la séance en cours. Le fuseau horaire peut correspondre au décalage par rapport à l'heure UTC (Coordinated Universal Time) ou un nom de fuseau horaire.

Note

Vous ne pouvez pas définir le paramètre de configuration timezone à l'aide d'un groupe de paramètres de cluster. Vous pouvez définir le fuseau horaire uniquement pour la séance actuelle en utilisant une commande SET. Pour définir le fuseau horaire pour toutes les séances exécutées par un utilisateur de base de données spécifique, utilisez la commande ALTER USER. ALTER USER … SET TIMEZONE modifie le fuseau horaire pour les séances ultérieures, et non pour la séance en cours.

Lorsque vous définissez le fuseau horaire à l'aide de la commande SET timezone (un mot) avec TO ou =, vous pouvez spécifier time_zone comme nom de fuseau horaire, décalage de format de style POSIX ou décalage de format ISO-8601, comme illustré ci-après.

SET timezone { TO | = } time_zone

Lorsque vous définissez le fuseau horaire à l'aide de la commande SET time zone sans TO ou =, vous pouvez également spécifier time_zone à l'aide d'un INTERVALLE comme nom de fuseau horaire, décalage de format de style POSIX ou décalage de format ISO-8601, comme illustré ci-après.

SET time zone time_zone

Formats de fuseau horaire

Amazon Redshift prend en charge les formats de fuseau horaire suivants :

  • Nom de fuseau horaire

  • INTERVAL

  • Spécification de fuseau horaire POSIX

  • Décalage ISO-8601

Comme les abréviations de fuseaux horaires, telles que PST ou PDT, sont définies comme un décalage fixe de l'UTC et n'incluent pas de règles de l'heure d'été, la commande SET ne prend pas en charge les abréviations de fuseaux horaires.

Pour plus d'informations sur les formats de fuseau horaire, consultez les éléments suivants.

Nom du fuseau horaire – Nom complet du fuseau horaire, tel qu'Amérique/New_York. Les noms de fuseaux horaires complets peuvent comprendre des règles de l'heure d'été.

Voici des exemples de noms de fuseaux horaires :

  • Etc/Greenwich

  • Amérique/New_York

  • CST6CDT

  • Go

Note

Plusieurs noms de fuseaux horaires, comme EST, MST, NZ et UCT, sont également des abréviations.

Pour afficher la liste des noms de fuseaux horaires valides pris en charge, exécutez la commande suivante.

select pg_timezone_names();

INTERVALLE – Décalage de l'UTC. Par exemple, PST est –8:00 ou –8 heures.

Voici des exemples de décalages de fuseau horaire avec INTERVALLE :

  • –8:00

  • –8 heures

  • 30 minutes

Format de style POSIX – Spécification de fuseau horaire sous la forme STDoffset ou STDoffsetDST, où STD est une abréviation de fuseau horaire, le décalage est le décalage numérique en heures à l'ouest d'UTC et DST est une abréviation facultative de la zone de l'heure d'été. L’heure d’été est supposée être une heure d’avance par rapport au décalage donné.

Les formats de fuseaux horaires de style POSIX utilisent des décalages positifs à l’ouest de Greenwich, contrairement à la convention ISO-8601, qui utilise des décalages positifs à l’est de Greenwich.

Voici des exemples de fuseaux horaires de style POSIX :

  • PST8

  • PST8PDT

  • EST5

  • EST5EDT

Note

Amazon Redshift ne valide pas les spécifications de fuseaux horaires de style POSIX, il est donc possible définir le fuseau horaire sur une valeur non valide. Par exemple, la commande suivante ne renvoie pas d’erreur, même si elle définit le fuseau horaire sur une valeur non valide.

set timezone to ‘xxx36’;

Décalage ISO-8601 – Décalage d'UTC sous la forme ±[hh]:[mm].

Voici quelques exemples de décalages ISO-8601 :

  • -8:00

  • +7:30

Exemples

L'exemple suivant définit le fuseau horaire de la séance en cours sur New York.

set timezone = 'America/New_York';

L'exemple suivant définit le fuseau horaire de la séance en cours sur UTC–8 (PST).

set timezone to '-8:00';

L'exemple suivant utilise l'INTERVALLE pour définir le fuseau horaire sur PST.

set timezone interval '-8 hours'

L'exemple suivant réinitialise le fuseau horaire de la séance en cours sur le fuseau horaire système par défaut (UTC).

set timezone to default;

Pour définir le fuseau horaire de l'utilisateur de la base de données, utilisez l'instruction ALTER USER … SET. L'exemple suivant définit le fuseau horaire de l'utilisateur dbuser sur New York. Cette nouvelle valeur persiste pour toutes les séances ultérieures de cet utilisateur.

ALTER USER dbuser SET timezone to 'America/New_York';