DETACH DATABASE

Note

Prior to using this command, the enable_bottomless engine 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.

Syntax

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

Arguments

milestone_name

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

Remarks

  • If FORCE is specified, the following applies:

    • It allows you to terminate ongoing uploads to remote storage and forcibly detaches the database. This can be useful in situations where, for example, the detach process is unable to upload blobs to remote storage or encounters a connection loss error. Typically, scenarios in which the database cannot be detached normally and the process may become stuck.

    • It is applicable only when unlimited storage is used and is intended primarily for emergency recovery situations. It is not recommended for routine use.

    • This operation only detaches the database, it does not drop or delete it.

    • SingleStore immediately stops all ongoing uploads and detaches the database. Any data not yet uploaded to remote storage such as, columnstore blobs, rowstore data, or logs, will be lost, resulting in potential data loss. To reattach the database, you can use the ATTACH DATABASE command. SingleStore will restore the database, however any data that was not previously uploaded to remote storage will be missing after reattachment.

  • If FORCE is not specified, the following applies:

    • All the changes that have not yet been uploaded are successfully uploaded into remote storage before detaching.

  • If KILL is specified, the following apply:

    • The target database is synced to unlimited storage and the database is detached.

    • Note that this operation does not incur data loss. Previously, a workload needed to finish before the database could be moved to remote storage. This option kills the running workload and moves the database to remote storage instantly.

    • During this operation, running queries will be interrupted and may fail during execution.

  • Once a database is detached, information about that database and its milestones is no longer visible in the MV_* views such as MV_MILESTONES and MV_BOTTOMLESS_DATABASE. The information is available again once the database is reattached.

  • 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.

Example

DETACH DATABASE db AT MILESTONE "m";
DETACH DATABASE db KILL;

Last modified: July 15, 2025

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK