Bonsoir,

En m’inspirant de cette méthode :
https://stackoverflow.com/a/39096027

j’ai essayé ça avec succès dans psql, sur des tables temporaires du schéma 
pg_temp_4 :
> BEGIN;
> SELECT FORMAT(
        'ALTER TABLE %I RENAME TO %I',
        table_name,
        regexp_replace(table_name, ':', '_') )
        FROM information_schema.tables
        WHERE table_schema='pg_temp_4';
> \gexec
> \dt pg_temp_4.*
> COMMIT; (ou ROLLBACK si ça plante ;-) )


Gwenaël


Le 04/04/2019 à 17:30, Tony Emery via Talk-fr a écrit :
> 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
> Talk-fr@openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-fr
> 

_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Répondre à