Tu peux utiliser https://docs.postgresql.fr/8.1/catalog-pg-attribute.html pour
identifier les colonnes concernées
La requête suivante va te générer les requêtes qui vont bien :
select concat('ALTER TABLE ',nspname,'.',t.relname,' RENAME COLUMN
"',a.attname,'" TO "',replace(a.attname,':','_'),'"') from pg_attribute a join
pg_class t on a.attrelid=t.oid join pg_namespace n on t.relnamespace=n.oid
where attname like '%:%';
Denis
-----Message d'origine-----
De : Tony Emery via Talk-fr [mailto:[email protected]]
Envoyé : jeudi 4 avril 2019 17:31
À : [email protected]
Cc : Tony Emery <[email protected]>
Objet : [OSM-talk-fr] OSM et postgresql
Bonjour à tous,
J'ai une petite question technique concernant l'exploitation des clés
OpenStreetMap dans PosgreSQL.
Je voudrais modifier le noms des colonnes qui contiennent des ":" en les
remplaçant par des "_", par exemple.
Et plutôt que d'avoir des "ALTER TABLE public.habillage_osm_point RENAME COLUMN
"addr:housenumber" TO "addr_housenumber"; et faire ça pour chaque clé, je
voudrais avoir :
"Bon, Postgresql, à chaque fois que tu vois un ":" dans le nom d'une colonne de
la table public.habillage_osm_point, tu le remplaces par "_" et avec le sourire
s'il te plait".
Je suppose qu'il faut une petite fonction avec une boucle mais je ne vois pas
bien comment la monter.
Merci d'avance,
-----
Tony EMERY
Administrateur OpenStreetMap.fr
Mandataire Grand Sud-Est
Géomaticien & chef de projets
--
Sent from: http://gis.19327.n8.nabble.com/France-f5380434.html
_______________________________________________
Talk-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-fr
-------
Ce message et toutes les pièces jointes sont établis à l'intention exclusive de
ses destinataires et sont confidentiels. L'intégrité de ce message n'étant pas
assurée sur Internet, la SNCF ne peut être tenue responsable des altérations
qui pourraient se produire sur son contenu. Toute publication, utilisation,
reproduction, ou diffusion, même partielle, non autorisée préalablement par la
SNCF, est strictement interdite. Si vous n'êtes pas le destinataire de ce
message, merci d'en avertir immédiatement l'expéditeur et de le détruire.
-------
This message and any attachments are intended solely for the addressees and are
confidential. SNCF may not be held responsible for their contents whose
accuracy and completeness cannot be guaranteed over the Internet. Unauthorized
use, disclosure, distribution, copying, or any part thereof is strictly
prohibited. If you are not the intended recipient of this message, please
notify the sender immediately and delete it.
_______________________________________________
Talk-fr mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-fr