Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 01 May 2020 08:29

Theos2000
Participant assidu
Date d'inscription: 15 Jun 2015
Messages: 221

Import table dans PostgreSQL probleme en-tete colonne

Bonjour

je me demande si il existe une solution lors d'un import dans postgresql pour que lorsqu'il existe des caracteres spéciaux comme des espaces qu'il ne le remplace pas automatiquement dans le writer "Postgresql" par un "_" mais mette la colonne entre " " ex  : Code EPCI devient "Code EPCI" et non pas Code_EPCI.


Mon second probleme est que j'ai des champs assez long (cent caractere) qu'il me tronque automatiquement dans le writer postgres, et je ne sais pas si ca vient de FME ou de postgres ?

Merci à vous

Hors ligne

 

#2 Mon 04 May 2020 12:30

xav
Participant assidu
Date d'inscription: 27 Oct 2005
Messages: 280

Re: Import table dans PostgreSQL probleme en-tete colonne

Bonjour,
effectivement les caractère spéciaux sont remplacés automatiquement via FME.
Bien qu'il soit effectivement possible d'avoir des caractères spéciaux dans une table PG, je vous déconseille fortement de le faire, vous risquez d'avoir des soucis par la suite avec les différents outils qui accéderons à ces tables.
Si vous souhaitez quand même le faire, vous pouvez essayer de créer les tables au préalable dans PG et lors de l'ajout de la destination dans FME d'importer la définition à partir du jeux de données existant. Je n'ai pas testé et je ne sais pas si cela fonctionne...

Concernant la longueur des noms de champs, de tête la limite postgres va au delà des 100 caractères mais FME fait peut être cela pour garder une compatibilité avec les différentes version de PG. Mais de la même manière que précédemment, je vous déconseille d'avoir des noms de champs aussi long. D'une part ça ne favorise la lisibilité et lecture des tables et d'autre part si vous avez des requêtes à écrire à la main , c'est d'une part très long et rébarbatif et d'autre part source d'erreur.

Vous trouverez sur intenet beaucoup de ressources vous présentant les bonnes pratiques à mettre en oeuvre lors de la création d'une base de données (Postres ou autres) qu'ils ne faut pas négliger pour que la base soit performante, lisible et évolutive.

Bonne journée
Xavier


Xavier Lang
Information géographique et observatoire - DSI Communautaire
Cap Atlantique

Hors ligne

 

#3 Wed 06 May 2020 08:14

Theos2000
Participant assidu
Date d'inscription: 15 Jun 2015
Messages: 221

Re: Import table dans PostgreSQL probleme en-tete colonne

Merci pour cet elément de réponse. Malheureusement pour les entetes pas trop le choix car les clients veulent lire le tableau et comprendre sans utiliser le dictionnaire de variables. Je vais trouver un entre deux. Effectivement l'idée de la compatibilité n''est pas bete et approfondir de mon coté.

Merci à vous "xav" d'avoir éclairer ma lanterne. Une trés bonne journée

Hors ligne

 

#4 Wed 06 May 2020 09:46

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: Import table dans PostgreSQL probleme en-tete colonne

Bonjour,

Par défaut, PostgreSQL limite les noms d'objets à 63 caractères (https://www.postgresql.org/docs/12/sql- … xical.html); vous pouvez modifier à cette valeur en recompilant le logiciel.

Pour les espaces et autres caractères spéciaux, peut-être que les clients pourraient se satisfaire de consulter une vue qui renommerait les colonnes à leur convenance. Si besoin de mise à jour un trigger ferait le job.


Jean-Marie
Azimut

Hors ligne

 

Pied de page des forums

Powered by FluxBB