Stop a Database

This article explains how to stop a database.

Stopping a database stops the main cluster and all worker clusters.

This procedure can be carried out using the Administration API or ConfD.

Prerequisites

The database must be running. For more information, see Start a Database.

Procedure - Administration API

The following examples use curl in a Linux terminal to send REST calls to endpoints in the Administration API. You can also use other interfaces and languages to interact with the API. For more information, see Administration API.

Placeholder values are styled as Bash variables, for example: $NODE_IP. Replace the placeholders with your own values.

The option --insecure or -k tells curl to bypass the TLS certificate check. This option allows you to connect to a HTTPS server that does not have a valid certificate. Only use this option if certificate verification is not possible and you trust the server.

  1. To get the database name, send a GET request to the /api/v1/databases endpoint.

    curl --insecure -X "GET" \
    "https://$NODE_IP:4444/api/v1/databases" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

    The response will include the database ID and name. For example:

    [
      {
        "id": "MY_DATABASE",
        "name": "MY_DATABASE",
    ...
  2. To stop the database, send a PUT request to the /api/v1/databases/DATABASE_ID/stop endpoint.

    curl --insecure -X "PUT" \
    "https://$NODE_IP:4444/api/v1/databases/$DATABASE_ID/stop" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

    To also stop the database nodes after stopping the database, add ?stopInstances=true after the endpoint.

    curl --insecure -X "PUT" \
    "https://$NODE_IP:4444/api/v1/databases/$DATABASE_ID/stop?stopInstances=true" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"
  3. To verify that the database has stopped, send a GET request to the /api/v1/databases endpoint.

    If the value for running in the response is 0 (zero), the database is stopped. For example:

    [
      {
        "id": "MY_DATABASE",
        "name": "MY_DATABASE",
        "provider": "aws",
        "version": "8.23.1",
        "ram": 22376,
        "auditing": true,
        "clusters": {
          "total": 1,
          "running": 0
    ...

Procedure - ConfD

The following examples use ConfD through the command-line tool confd_client, which is available on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

  1. Connect to EXAClusterOS (COS) on the cluster using c4 connect -t <DEPLOYMENT>[.<NODE>]/cos. For example:

    ./c4 connect -t 1.11/cos

    If you do not specify a node, c4 will connect to the first active node in the deployment. If the cluster is configured with an access node, the first node is the access node (usually n10).

    For more information about how to use c4 connect, see How to use c4.

  2. To find the name of the database, use the ConfD job db_list. For example:

    confd_client db_list
    - MY_DATABASE
  3. To stop the database, use the ConfD job db_stop. For example:

    confd_client db_stop db_name: MY_DATABASE
  4. To verify that the database has stopped, use the ConfD job db_state. If the result is setup, the database is stopped. For example:

    confd_client db_state db_name: MY_DATABASE
    ...
    Result:
    'setup'