Ceci est une ancienne révision du document !
Version: PostgreSQL 8.4.4
But: Créer un trigger faisant un UPDATE lors du DELETE d'un record
Remarques:
Un trigger doit obligatoirement faire appel à une fonction. On doit donc d'abord déclarer la fonction correspondante.
Une fonction de type trigger doit retourner une valeur (: compléter) afin de permettre à l'action de continuer. Si elle retourne NULL, l'action en cours se termine.
La première ligne commentée ci-dessous sert à installer le language 'plpgsql' utilisé ici comme language de la fonction. Cette commande ne doit être lancée qu'une seule fois.
--CREATE LANGUAGE 'plpgsql'; CREATE OR REPLACE FUNCTION users_clear_created_by() RETURNS TRIGGER AS 'BEGIN UPDATE tan_users SET created_by = null WHERE created_by = OLD.id; UPDATE tan_users SET modified_by = null WHERE modified_by = OLD.id; RETURN OLD; END;' LANGUAGE 'plpgsql'; DROP TRIGGER IF EXISTS users_clear_created_by ON tan_users; CREATE TRIGGER users_clear_created_by BEFORE DELETE ON tan_users FOR EACH ROW EXECUTE PROCEDURE users_clear_created_by();
Version: PostgreSQL 8.4.4
But:
Restaurer une base de donnée à partir d'un fichier généré avec la commande pg_dump
Commande:
sudo su - postgres -c "psql database_to_restore < /path/to/database_dump.sql"