# Delete all retained messages from server?

**URL:** <https://erlangforums.com/t/delete-all-retained-messages-from-server/4382>\
**Category:** VerneMQ Questions\
**Tags:** vernemq\
**Created:** [January 13, 2025, 4:13pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382 "2025-01-13T16:13:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![mike521](https://erlangforums.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike521](https://erlangforums.com/u/mike521)\
**Post date:** [January 13, 2025, 4:13pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382/1 "2025-01-13T16:13:42Z")

</div>

Is there an easy way of deleting all retained messages from the server ?  
Can I just delete all files/folders under: /var/lib/vernemq/msgstore ?  
“vmq-admin retain delete”, just deletes one at a time. I messed up by a few thousand messages retained…

Thanks! 😃

---

<div class="post-metadata">

**Author:** ![afa](https://erlangforums.com/user_avatar/erlangforums.com/afa/32/298_2.png) [@afa](https://erlangforums.com/u/afa)\
**Post date:** [January 13, 2025, 4:47pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382/2 "2025-01-13T16:47:55Z")

</div>

There’s no direct way of doing this currently.  
You can look at the user-proposed workarounds in the Github issue here: [Proposal: ability to remove retained messages · Issue #1127 · vernemq/vernemq · GitHub](https://github.com/vernemq/vernemq/issues/1127)

You can also experiment with `mosquitto_sub` `--remove-retained` flag although practically this means that the user needs to have very broad subscribe and publish permissions.

I hope this helps somewhat 🙂  
Btw, note that retained messages are part of `metadata`, that is not part of the files under `msgstore`. You _could_ delete everything under `/var/lib/vernemq` after a node stop and then reboot. But this will give you an entirely reset and fresh VerneMQ node. While this can be a solution for a single Verne server, it’s certainly not a viable approach in a clustered setup.

---

<div class="post-metadata">

**Author:** ![mike521](https://erlangforums.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike521](https://erlangforums.com/u/mike521)\
**Post date:** [January 13, 2025, 9:30pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382/3 "2025-01-13T21:30:32Z")

</div>

Many thanks ! The folder cleanup worked perfectly.

---

<div class="post-metadata">

**Author:** ![afa](https://erlangforums.com/user_avatar/erlangforums.com/afa/32/298_2.png) [@afa](https://erlangforums.com/u/afa)\
**Post date:** [January 13, 2025, 9:45pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382/4 "2025-01-13T21:45:53Z")

</div>

Cool. 🙂 Just to make sure, it’s only a solution if you can “afford” to loose all broker state.

---

<div class="post-metadata">

**Author:** ![mike521](https://erlangforums.com/letter_avatar_proxy/v4/letter/m/53a042/32.png) [@mike521](https://erlangforums.com/u/mike521)\
**Post date:** [January 13, 2025, 9:59pm UTC](https://erlangforums.com/t/delete-all-retained-messages-from-server/4382/5 "2025-01-13T21:59:08Z")

</div>

Exactly, and would be great to have the wildcard “\*” in the vmq-admin command…
