Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 10/02/2015 18:36:03
- liofer
- Membre
Problème Timestamp non en UTC ?
Bonjour,
Je souhaite créer une table 'Horodatage' contenant une colonne date et une colonne epoch correspondant au nombre de secondes depuis le début (je souhaite que epoch soit la clé primaire.
Avec un pas de temps de 1 minutes depuis 1970 à 2025.
du type
epoch; date
0;"1970-01-01 01:00:00"
60;"1970-01-01 01:01:00"
120;"1970-01-01 01:02:00"
180;"1970-01-01 01:03:00"
240;"1970-01-01 01:04:00"
300;"1970-01-01 01:05:00"
j'ai donc commencé avec une table date en timestamp withoutzone et effectuer ujn generate series pour ajouter une une minute depuis 1970 à 2025
Ensuite, j'ai crée ma table horodatage en faisant un create table qui rajoute un extract epoch etc... (j'ai pas réussi avec update)
Tout se passe pour le mieux sauf que au moment de déclarer comme clé primaire epoch, j'ai une erreur qui me fait constater que j'ai des doublons correspondant au changement d'heure.
Voilà j'ai fais le tour de la doc essayer plusieurs set time zone. Je tourne en rond.
Pouvez vous m'aider tout d'abord en m'indiquant si c'était la bonne manière ? et éventuellement la solution.
Merci Beaucoup
Hors ligne
#2 11/02/2015 10:25:35
- ruizsebastien
- Membre
Re : Problème Timestamp non en UTC ?
Bonjour,
Avez-vous essayé de mettre votre date dans un int (par exemple : 197001010100 en int au lieu du timestamp 1970-01-01 01:00:00).
Avec le generate series vous incrémentez les minutes (donc le dernier chiffre du int).
Ensuite pour calculer l'écart avec epoch vous castez le int en timestamp.
J'espère que je suis assez clair...
Cordialement,
Dernière modification par ruizsebastien (11/02/2015 11:10:19)
Cordialement,
Sébastien.
Hors ligne
#3 11/02/2015 11:32:46
- ruizsebastien
- Membre
Re : Problème Timestamp non en UTC ?
Rebonjour,
En y réfléchissant c'est une très mauvaise idée que je vous ai donné ci-dessus...
Le mieux c'est de conserver votre timestamp et de choisir un fuseau horaire qui n'est pas sujet au changement d'heure été/hiver (par exemple GMT).
Configurable avec :
TimeZone dans postgresql.conf
ou SET TIME ZONE en SQL pour une session.
Pour choisir le fuseau horaire non soumis au changement d'heure : select * from pg_timezone_abbrevs where is_dst = false;
Cordialement,
Cordialement,
Sébastien.
Hors ligne
Pages : 1