RELEASE SAVEPOINT — détruit un point de sauvegarde précédemment défini
RELEASE [ SAVEPOINT ] nom_pointsauvegarde
RELEASE SAVEPOINT
détruit un point de sauvegarde
défini précédemment dans la transaction courante.
La destruction d'un point de sauvegarde le rend indisponible comme point de retour. C'est, pour l'utilisateur, le seul comportement visible. Elle ne défait pas les commandes exécutées après l'établissement du point de sauvegarde (pour cela, voir ROLLBACK TO SAVEPOINT). Détruire un point de sauvegarde quand il n'est plus nécessaire peut permettre au système de récupérer certaines ressources sans attendre la fin de la transaction.
RELEASE SAVEPOINT
détruit aussi tous les points de
sauvegarde créés ultérieurement au point de sauvegarde indiqué.
nom_pointsauvegarde
Le nom du point de sauvegarde à détruire.
Spécifier un nom de point de sauvegarde qui n'a pas été défini est une erreur.
Il n'est pas possible de libérer un point de sauvegarde lorsque la transaction est dans un état d'annulation.
Si plusieurs points de transaction ont le même nom, seul le plus récemment défini et non libéré est libéré. Des commandes répétées libéreront progressivement les anciens points de transaction.
Pour établir puis détruire un point de sauvegarde :
BEGIN; INSERT INTO table1 VALUES (3); SAVEPOINT mon_pointsauvegarde; INSERT INTO table1 VALUES (4); RELEASE SAVEPOINT mon_pointsauvegarde; COMMIT;
La transaction ci-dessus insère à la fois 3 et 4.
Cette commande est conforme au standard SQL. Le standard
impose le mot clé SAVEPOINT
mais
PostgreSQL autorise son omission.