Prior to using this command, the enable_bottomlessengine variable must be set to ON (the default value).

Takes an unlimited storage database offline. The data remains on remote storage and should be deleted separately if you wish to completely remove it.

It removes the reference to the detached database from the cluster. Hence your ATTACH command needs to specify the location where to attach from.

Check here for the permissions required to use this command.


DETACH DATABASE remote_database_name [AT MILESTONE "milestone_name" | FORCE]



A quoted string that is the milestone to detach the database at.


  • If FORCE is specified, the following applies:

    • The database is dropped from the SingleStoreDB cluster. All data in the detached database that is stored locally in the cluster is deleted (and not uploaded to remote storage). However, FORCE does not remove the corresponding database files from the remote object store; you should remove these files manually, if desired.

  • If FORCE is not specified, the following apply:

    • A milestone (a restore point) is created. The CREATE MILESTONE command is run implicitly.

    • While the milestone is being created, SingleStore uploads the remote database's local cluster data to remote storage that has not yet been synced.

    • If milestone_name is not specified, a name containing the current timestamp is automatically generated.

  • After detaching a database, you can reattach the database using ATTACH DATABASE. The reattach can be done optionally at a milestone or a point in time, and with the same or a different database name.

  • This command cannot be run on system databases.

  • Refer to the Permission Matrix for the required permission.



Last modified: January 9, 2023

Was this article helpful?