View a markdown version of this page

timezone - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouveaux UDFs Python à partir du patch 198. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement jusqu’au 30 juin 2026. Pour plus d’informations, consultez le billet de blog .

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 l'un TO ou l'autre ou=, vous pouvez spécifier time_zone comme nom de fuseau horaire, décalage de POSIX-style format ou décalage de ISO-8601 format, comme indiqué ci-dessous.

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 spécifier time_zone en utilisant un INTERVAL ainsi qu'un nom de fuseau horaire, un décalage de POSIX-style format ou un décalage de ISO-8601 format, comme indiqué ci-dessous.

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

  • POSIX-style spécification du fuseau horaire

  • ISO-8601 décalage

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 que America/New _York. Les noms de fuseaux horaires complets peuvent comprendre des règles de l'heure d'été. Notez qu’Amazon Redshift utilise la base de données de fuseaux horaires de l’IANA comme source officielle de spécification des fuseaux horaires.

Voici des exemples de noms de fuseaux horaires :

  • Etc/Greenwich

  • America/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

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

POSIX-style les formats de fuseau horaire utilisent des décalages positifs à l'ouest de Greenwich, contrairement à la ISO-8601 convention, qui utilise des décalages positifs à l'est de Greenwich.

Voici des exemples de POSIX-style fuseaux horaires :

  • PST8

  • PST8PDT

  • EST5

  • EST5EDT

Note

Amazon Redshift ne valide pas les spécifications de POSIX-style fuseau horaire. Il est donc possible de 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’;

ISO-8601 Offset — Le décalage par rapport à l'UTC dans le formulaire±[hh]:[mm].

Voici des exemples de ISO-8601 compensations :

  • -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';