Stop a Database

This section explains how to stop a database.

This procedure can be carried out using either 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 on 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: $EXASOL_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 uses a self-signed certificate or a certificate that is not valid. 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://$EXASOL_IP/api/v1/databases" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

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

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

    curl --insecure -X "PUT" \
    "https://$EXASOL_IP/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://$EXASOL_IP/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": "Exasol",
        "name": "Exasol",
        "provider": "unknown",
        "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 accessible on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

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

    confd_client -c db_list
    - Exasol
  2. To stop the database, use the ConfD job db_stop. For example:

    confd_client -c db_stop -a 'db_name: Exasol'
  3. 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 -c db_state -a 'db_name: Exasol'
    ...
    Result:
    'setup'