Vous n'êtes pas identifié(e).
.
Dernière modification par rygegor (14/12/2024 15:02:41)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:02:47)
Hors ligne
je voulais le type de donnée de chaque colonne (integer, varchar, etc...)
Cordialement,
Sébastien.
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:02:53)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:00)
Hors ligne
et dans votre fichier csv, on peut avoir 2 ou 3 lignes complètes ?
Cordialement,
Sébastien.
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:05)
Hors ligne
COPY essaie d'insérer dans la colonne om_utilisateur "1,".
la virgule est donc en trop.
Il faudrait nettoyer le csv avant de l'importer.
Cordialement,
Sébastien.
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:36)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:11)
Hors ligne
je ne suis pas trop windows mais en cherchant bien dans google vous devriez pouvoir trouver votre bonheur.
L'idée est de parcourir les lignes du fichier et de supprimer les virgules.
Cordialement,
Sébastien.
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:42)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:18)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:24)
Hors ligne
il faut supprimer la virgule tout cours.
Ensuite pour votre export depuis mysql le mieux est de choisir : "Colonnes séparées par :" et lui indiquer ";"
pour l'import dans postgresql il faut choisir le séparateur de colonne ";" avec l'option DELIMITER de COPY.
voir la doc : http://docs.postgresql.fr/9.6/sql-copy.html
Cordialement,
Sébastien.
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:04:34)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:04:26)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:04:17)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:03:50)
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:04:01)
Hors ligne
Il n'y a pas de solution magique. Soit vous exportez les données comme attendu sur la table cible du côté mysql, soit vous intégrer les données dans une autre table côté postgres et vous insérer ensuite les bonnes colonnes sur la table finale. Ou vous passez par un etl.
edit: J'ai répondu un peu vite.
Vous devriez vous en sortir en spécifiant les champs contenus dans le fichier csv au moment de l'import.
Sur un exemple comme
table mysql: id, val1, val2
table postgres: id, val2, val3, val1
Vous pouvez importer les données qui existaient sur mysql avec la commande COPY suivante :
COPY nom_table(id, val1, val2) FROM...
Par contre, on ne peut pas exclure un champ du fichier CSV, il faut donc que la table sur postgres ait au moins autant de champs que la table mysql, sinon il faut utiliser les autres solutions données en début de message.
Julien.
https://rjuju.github.io/
Hors ligne
.
Dernière modification par rygegor (14/12/2024 15:04:08)
Hors ligne