Aujourd’hui, mon problème est du côté de ma base de données MySQL : j’ai inséré une grande quantité de lignes et je crois que j’ai des doublons dans une de mes tables. Comment vais-je vivre avec cela ? Je m’y refuse. Ma bataille du jour : me débarrasser de ces doublons mais tout en gardant au moins une ligne dans le cas des doublons.
MySQL est une référence dans le monde de l’Open Source et de la base de données. Une de ces spécificités est le trigger. Mais qu’est ce donc ? Un trigger se déclenche avant ou après une requête (SELECT, INSERT, UPDATE et DELETE). Dans notre cas, nous allons utiliser les triggers pour savoir quand une ligne a été insérée ou mise à jour dans une table.
MySQL Workbench est un outil parfait pour tout développeur LAMP. Il permet de concevoir sa base de données MySQL, la travailler, exporter la requête SQL pour l’initialisation de la base de données. Pour un DBA, il permet même de se connecter au serveur MySQL pour le monitorer. Et si… et si on pouvait synchroniser sa base de données en ligne avec son modèle MySQL Workbench, ce serait génial. Alors suivez le guide…
Afin de poursuivre ma recherche, je me suis dirigé vers SQLite aprés PostgreSQL.
Pour un logiciel, j’ai eu besoin de récupérer la liste des tables, et puis curieux de nature, j’ai poussé la recherche un peu plus loin. Donc voici la liste de mes résultats. Hésitez pas si il vous manque des informations…
Lors de l’ajout d’une fonction dans PostgreSQL, je me suis aperçu que le langage PL/pgSQL n’était pas installé.
Par défaut, il n’est pas configuré à moins d’avoir un template qui le possédait déjà.
Dés lors, deux solutions :
Si votre serveur est en version 8.1 ou supérieur, lancez ce petit script :
CREATE LANGUAGE "plpgsql";
Sinon, il faut l’installer manuellement :
CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler AS
'$libdir/plpgsql' LANGUAGE C;
CREATE FUNCTION plpgsql_validator(oid) RETURNS void AS
'$libdir/plpgsql' LANGUAGE C;
CREATE TRUSTED PROCEDURAL LANGUAGE "plpgsql"
HANDLER "plpgsql_call_handler"
VALIDATOR "plpgsql_validator";
À noter qu’il est aussi possible d’écrire des fonctions pour PostgreSQL en utilisant d’autres langages comme Java, Perl, Python, Ruby, PHP, etc.