Cette semaine, je programmais dans une base de données PostgreSQL quand je me suis rendu compte que la nature d'un champ d'une table avait changé par rapport à ce qui avait été prévu initialement. Ni son nom ni son type n'avaient été changés, ce qui portait à confusion.
Pour pallier à ce manquement, j'ai décidé de faire une recherche dans le code source ainsi que dans la base de données pour les remplacer par quelque chose de plus approprié.
Après avoir cherché dans le DDL et fait les remplacements, j'ai utilisé une requête SQL qui appelle les tables systèmes et qui liste le nom de la table suivi du nom du champ trouvé (notez que j'utilise un ILIKE) :
SELECT tbl.relname, col.attnameJe partage ce petit truc avec vous, en espérant que ça servira à quelqu'un.
FROM pg_attribute as col
INNER JOIN pg_class as tbl ON col.attrelid = tbl.oid
WHERE col.attname ILIKE '%nom_de_colonne%'
ORDER BY tbl.relname
Merci.
ps : on ne dit pas "pallier à"
À vrai dire, on le dit, mais sans faute d'orthographe. Corrigé :)