

Comme il n'existe pas de réel standard des abréviations de fuseaux horaire, PostgreSQL permet de personnaliser l'ensemble des abréviations acceptées par le serveur en entrée. Voici deux sources poru ces abréviations :
      Le paramètre TimeZone est habituellement configuré
      au nom d'une entrée de la base de données IANA des fuseaux horaires. Si
      cette zone a des abréviations fréquemment utilisées, elles apparaitront
      dans les données IANA et PostgreSQL reconnaîtra
      de préférence ces abréviations avec la signification donnée dans les
      données IANA. Par exemple, si timezone est configuré à
      America/New_York, alors EST sera
      compris comme UTC-5 et EDT sera compris comme UTC-4.
      (Ces abréviations IANA seront aussi utilisées en sortie, si DateStyle est configuré en un style qui préfère les
      abréviations non numériques de zones.)
     
      Si une abréviation n'est pas trouvée pour le fuseau horaire IANA utilisé,
      elle est cherchée dans la liste indiquée par le paramètre timezone_abbreviations. La liste
      timezone_abbreviations est principalement utile pour
      autoriser les entrées datetime à reconnaître les abréviations pour les
      fuseaux horaires autre que la zone actuelle. (Ces abréviations ne seront
      pas utilisées en sortie.)
     
   Bien que le paramètre timezone_abbreviations détermine
   l'ensemble des abréviations actives. Bien que tout utilisateur de la base
   puisse modifier ce paramètre, les valeurs possibles sont
   sous le contrôle de l'administrateur de bases de données  --  ce sont en fait
   les noms des fichiers de configuration stockés dans
   .../share/timezonesets/ du répertoire d'installation.
   En ajoutant ou en modifiant les fichiers de ce répertoire, l'administrateur
   peut définir les règles d'abréviation des fuseaux horaires.
  
   timezone_abbreviations peut prendre tout nom
   de fichier situé dans .../share/timezonesets/, sous
   réserve que ce nom soit purement alphabétique. (L'interdiction de
   caractères non alphabétique dans timezone_abbreviations
   empêche la lecture de fichiers en dehors du répertoire prévu et
   celle de fichiers de sauvegarde ou autre.)
  
   Un fichier d'abréviation de zones horaires peut contenir des lignes blanches
   et des commentaires (commençant avec un #). Les
   autres lignes doivent suivre l'un des formats suivants :
   
abréviation_fuseau_horairedécalageabréviation_fuseau_horairedécalageDabréviation_fuseau_horairenom_fuseau_horaire@INCLUDEnom_fichier@OVERRIDE
   Un abréviation_fuseau_horaire n'est que
   l'abréviation définie. Le décalage est un entier
   donnant le décalage en secondes à partir d'UTC, une valeur positive
   signifiant à l'est de Greenwich, une valeur négative à l'ouest. Ainsi,
   -18000 représente cinq heures à l'ouest de Greenwich, soit l'heure standard
   de la côte ouest nord américaine. D indique que le nom
   du fuseau représente une heure soumise à des règles de changement d'heure
   plutôt que l'heure standard.
  
   Autrement, un nom_fuseau_horaire peut être
   indiqué, référençant un nom de fuseau horaire défini dans la base de
   données IANA. La définition du fuseau est consultée pour voir si
   l'abréviation est ou était utilisée pour ce fuseau et, si c'est bien le
   cas, la signification appropriée est utilisée  --  la signification qui
   était utilisée pour l'horodatage dont la valeur était en cours de
   détermination ou la signification utilisée immédiatement avant ça si elle
   n'était pas actuelle à ce moment, ou la signification la plus ancienne si
   elle était utilisée seulement après ce moment. Ce comportement est
   essentiel pour gérer les abréviations dont la signification a varié dans
   l'histoire. Il est aussi permis de définir une abréviation en terme de nom
   de fuseau horaire pour lequel cette abréviation n'apparaît pas ; alors
   utiliser l'abréviation est équivalent à écrire le nom du fuseau horaire.
  
    Utiliser un entier simple pour le décalage est
    préféré lors de la définition d'une abréviation dont le décalage à partir
    d'UTC n'a jamais changé, car ce type d'abréviation est bien moins coûteuse
    à traiter que celles qui réclament de consulter la définition du fuseau
    horaire.
   
   La syntaxe @INCLUDE autorise l'inclusion d'autres fichiers
   du répertoire .../share/timezonesets/. Les inclusions
   peuvent être imbriquées jusqu'à une certaine profondeur.
  
   La syntaxe @OVERRIDE indique que les entrées suivantes
   du fichier peuvent surcharger les entrées précédentes (c'est-à-dire des
   entrées obtenues à partir de fichiers inclus). Sans cela, les définitions en
   conflit au sein d'une même abréviation lèvent une erreur.
  
   Dans une installation non modifiée, le fichier Default
   contient toutes les abréviations de fuseaux horaire, sans conflit, pour la
   quasi-totalité du monde. Les fichiers supplémentaires Australia
   et India sont fournis pour ces régions : ces
   fichiers incluent le fichier Default puis
   ajoutent ou modifient les fuseaux horaires si nécessaire.
  
   Pour des raisons de référence, une installation standard contient aussi
   des fichiers Africa.txt, America.txt,
   etc. qui contiennent des informations sur les abréviations connues et
   utilisées en accord avec la base de données de fuseaux horaires
   IANA. Les définitions des noms de zone trouvées dans ces
   fichiers peuvent être copiées et collées dans un fichier de configuration
   personnalisé si nécessaire. Il ne peut pas être fait directement référence
   à ces fichiers dans le paramètre
   timezone_abbreviations à cause du point dans leur nom.
  
Si une erreur survient lors de la lecture des abréviations de fuseaux horaires, aucune nouvelle valeur n'est acceptée mais les anciennes sont conservées. Si l'erreur survient au démarrage de la base, celui-ci échoue.
    Les abréviations de fuseau horaire définies dans le fichier de configuration
    surchargent les informations sans fuseau définies nativement dans
    PostgreSQL.
    Par exemple, le fichier de configuration Australia
    définit SAT (South Australian Standard
     Time, soit l'heure standard pour l'Australie du sud). Si
    ce fichier est actif, SAT n'est plus reconnu comme
    abréviation de samedi (Saturday).
   
    Si les fichiers de .../share/timezonesets/ sont
    modifiés, il revient à l'utilisateur de procéder à leur sauvegarde  -- 
    une sauvegarde normale de base n'inclut pas ce répertoire.