| --- |
| title: RELEASE SAVEPOINT |
| --- |
| |
| Destroys a previously defined savepoint. |
| |
| ## Synopsis<a id="topic1__section2"></a> |
| |
| ``` pre |
| RELEASE [SAVEPOINT] savepoint_name |
| |
| ``` |
| |
| ## Description<a id="topic1__section3"></a> |
| |
| `RELEASE SAVEPOINT` destroys a savepoint previously defined in the current transaction. |
| |
| Destroying a savepoint makes it unavailable as a rollback point, but it has no other user visible behavior. It does not undo the effects of commands executed after the savepoint was established. (To do that, see /3/4.) Destroying a savepoint when it is no longer needed may allow the system to reclaim some resources earlier than transaction end. |
| |
| `RELEASE SAVEPOINT` also destroys all savepoints that were established *after* the named savepoint was established. |
| |
| ## Parameters<a id="topic1__section4"></a> |
| |
| *savepoint\_name* |
| The name of the savepoint to destroy. |
| |
| ## Examples<a id="topic1__section5"></a> |
| |
| To establish and later destroy a savepoint: |
| |
| ``` pre |
| BEGIN; |
| INSERT INTO table1 VALUES (3); |
| SAVEPOINT my_savepoint; |
| INSERT INTO table1 VALUES (4); |
| RELEASE SAVEPOINT my_savepoint; |
| COMMIT; |
| ``` |
| |
| The above transaction will insert both 3 and 4. |
| |
| ## Compatibility<a id="topic1__section6"></a> |
| |
| This command conforms to the SQL standard. The standard specifies that the key word `SAVEPOINT` is mandatory, but HAWQ allows it to be omitted. |
| |
| ## See Also<a id="topic1__section7"></a> |
| |
| /3/4, /3/4, /3/4, /3/4 |