[Yandex Cloud documentation](../../index.md) > [Yandex Managed Service for PostgreSQL](../index.md) > [Step-by-step guides](index.md) > Clusters > Getting information on existing clusters

# Getting information about existing PostgreSQL clusters

You can get detailed information about each Managed Service for PostgreSQL cluster you created.

## Getting a list of database clusters in a folder {#list-clusters}

{% list tabs group=instructions %}

- Management console {#console}

  Navigate to **Managed Service for&nbsp;PostgreSQL**.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  To get a list of PostgreSQL clusters in the default folder, run this command:

  ```bash
  yc managed-postgresql cluster list
  ```

  ```text
  +----------------------+---------------+-----------------------------+--------+---------+
  |          ID          |     NAME      |         CREATED AT          | HEALTH | STATUS  |
  +----------------------+---------------+-----------------------------+--------+---------+
  | c9wlk4v14uq7******** | mypg          | 2018-11-02T10:04:14.645214Z | ALIVE  | RUNNING |
  | ...                                                                                   |
  +----------------------+---------------+-----------------------------+--------+---------+
  ```

- REST API {#api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

     ```bash
     export IAM_TOKEN="<IAM_token>"
     ```

  1. Call the [Cluster.List](../api-ref/Cluster/list.md) method, e.g., via the following [cURL](https://curl.se/) request:

     ```bash
     curl \
       --request GET \
       --header "Authorization: Bearer $IAM_TOKEN" \
       --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters' \
       --url-query folderId=<folder_ID>
     ```

     
     You can get the folder ID with the [list of folders in the cloud](../../resource-manager/operations/folder/get-id.md).


  1. Check the [server response](../api-ref/Cluster/list.md#yandex.cloud.mdb.postgresql.v1.ListClustersResponse) to make sure your request was successful.

- gRPC API {#grpc-api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

     ```bash
     export IAM_TOKEN="<IAM_token>"
     ```

  1. Clone the [cloudapi](https://github.com/yandex-cloud/cloudapi) repository:
     
     ```bash
     cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
     ```
     
     Below, we assume that the repository contents reside in the `~/cloudapi/` directory.
  1. Call the [ClusterService.List](../api-ref/grpc/Cluster/list.md) method, e.g., via the following [gRPCurl](https://github.com/fullstorydev/grpcurl) request:

     ```bash
     grpcurl \
       -format json \
       -import-path ~/cloudapi/ \
       -import-path ~/cloudapi/third_party/googleapis/ \
       -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
       -rpc-header "Authorization: Bearer $IAM_TOKEN" \
       -d '{
             "folder_id": "<folder_ID>"
           }' \
       mdb.api.cloud.yandex.net:443 \
       yandex.cloud.mdb.postgresql.v1.ClusterService.List
     ```

     
     You can get the folder ID with the [list of folders in the cloud](../../resource-manager/operations/folder/get-id.md).


  1. Check the [server response](../api-ref/grpc/Cluster/list.md#yandex.cloud.mdb.postgresql.v1.ListClustersResponse) to make sure your request was successful.

{% endlist %}

## Getting detailed information about a cluster {#get-cluster}

{% list tabs group=instructions %}

- Management console {#console}

  1. Navigate to **Managed Service for&nbsp;PostgreSQL**.
  1. Click the cluster name.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  To get PostgreSQL cluster details, run the following command:

  ```bash
  yc managed-postgresql cluster get <cluster_name_or_ID>
  ```

  You can get the cluster ID and name with the [list of clusters in the folder](#list-clusters).

- REST API {#api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

      ```bash
      export IAM_TOKEN="<IAM_token>"
      ```

  1. Call the [Cluster.Get](../api-ref/Cluster/get.md) method, e.g., via the following [cURL](https://curl.se/) request:

     ```bash
     curl \
       --request GET \
       --header "Authorization: Bearer $IAM_TOKEN" \
       --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>'
     ```

     You can get the cluster ID from the [folder’s cluster list](#list-clusters).

  1. Check the [server response](../api-ref/Cluster/get.md#yandex.cloud.mdb.postgresql.v1.Cluster) to make sure your request was successful.

- gRPC API {#grpc-api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

     ```bash
     export IAM_TOKEN="<IAM_token>"
     ```

  1. Clone the [cloudapi](https://github.com/yandex-cloud/cloudapi) repository:
     
     ```bash
     cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
     ```
     
     Below, we assume that the repository contents reside in the `~/cloudapi/` directory.
  1. Call the [ClusterService.Get](../api-ref/grpc/Cluster/get.md) method, e.g., via the following [gRPCurl](https://github.com/fullstorydev/grpcurl) request:

     ```bash
     grpcurl \
       -format json \
       -import-path ~/cloudapi/ \
       -import-path ~/cloudapi/third_party/googleapis/ \
       -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
       -rpc-header "Authorization: Bearer $IAM_TOKEN" \
       -d '{
             "cluster_id": "<cluster_ID>"
           }' \
       mdb.api.cloud.yandex.net:443 \
       yandex.cloud.mdb.postgresql.v1.ClusterService.Get
     ```

     You can get the cluster ID with the [list of clusters in the folder](#list-clusters).

  1. Check the [server response](../api-ref/grpc/Cluster/create.md#yandex.cloud.mdb.postgresql.v1.Cluster) to make sure your request was successful.

{% endlist %}

## Viewing operations with clusters {#list-operations}

All actions with Managed Service for PostgreSQL clusters are logged as a list of operations. Each operation gets its own unique ID.

### Getting a list of operations {#get-operations}

{% list tabs group=instructions %}

- Management console {#console}

  To view operations with all Managed Service for PostgreSQL clusters, select ![image](../../_assets/console-icons/list-check.svg) **Operations** in the left-hand panel. This will open the list of all operations, including those on currently deleted resources.

  You can get a list of cluster operations as follows:

  1. In the [management console](https://console.yandex.cloud), open the folder containing the cluster.
  1. Navigate to **Managed Service for&nbsp;PostgreSQL**.
  1. In the left-hand panel, select ![image](../../_assets/console-icons/cubes-3.svg) **Clusters**.
  1. Select the cluster and open the ![image](../../_assets/console-icons/list-check.svg) **Operations** tab.

     This will open the list of operations with the cluster.

- CLI {#cli}

  If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

  The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  To get a list of operations for a Managed Service for PostgreSQL cluster, run this command:

  ```bash
  yc managed-postgresql cluster list-operations <cluster_name_or_ID>
  ```

  Result:

  ```text
  +----------------------+---------------------+----------------------+---------------------+--------+--------------------------------+
  |          ID          |     CREATED AT      |      CREATED BY      |     MODIFIED AT     | STATUS |          DESCRIPTION           |
  +----------------------+---------------------+----------------------+---------------------+--------+--------------------------------+
  | c5m7ll6pq3j8******** | 2024-08-08 19:05:42 | mdb-maintainer       | 2024-08-15 19:20:05 | DONE   | Modify PostgreSQL cluster      |
  | c5mb0no66172******** | 2024-06-19 12:48:40 | mdb-maintainer       | 2024-06-26 12:50:14 | DONE   | Modify PostgreSQL cluster      |
  | c5m6of9he7op******** | 2023-11-13 19:25:21 | ajeef73j5iq9******** | 2023-11-13 19:32:00 | DONE   | Create PostgreSQL cluster      |
  +----------------------+---------------------+----------------------+---------------------+---- ---+--------------------------------+
  ```

  You can get the cluster ID with the [list of clusters in the folder](#list-clusters).

  By default, information about operations is output as text. To get more details, use `--format` to specify the `yaml` or `json` output format:

  ```bash
  yc managed-postgresql cluster list-operations c9qk2926qqu9******** --format yaml
  ```

  Result:

  ```text
  - id: c9q2m9jrootm********
    description: Create PostgreSQL cluster
    created_at: "2024-08-06T06:38:13.724389Z"
    created_by: ajej2i98kcjd********
    modified_at: "2024-08-06T06:46:33.101402Z"
    done: true
    metadata:
      '@type': type.googleapis.com/yandex.cloud.mdb.postgresql.v1.CreateClusterMetadata
      cluster_id: c9qk2926qqu9********
  ...
  ```

- REST API {#api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

     ```bash
     export IAM_TOKEN="<IAM_token>"
     ```

  1. Call the [Cluster.ListOperations](../api-ref/Cluster/listOperations.md) method, e.g., via the following [cURL](https://curl.se/) request:

     ```bash
     curl \
       --request GET \
       --header "Authorization: Bearer $IAM_TOKEN" \
       --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>/operations'
     ```

     You can get the cluster ID with the [list of clusters in the folder](#list-clusters).

  1. Check the [server response](../api-ref/Cluster/listOperations.md#yandex.cloud.mdb.postgresql.v1.ListClusterOperationsResponse) to make sure your request was successful.

- gRPC API {#grpc-api}

  1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

     ```bash
     export IAM_TOKEN="<IAM_token>"
     ```

  1. Clone the [cloudapi](https://github.com/yandex-cloud/cloudapi) repository:
     
     ```bash
     cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
     ```
     
     Below, we assume that the repository contents reside in the `~/cloudapi/` directory.
  1. Call the [ClusterService.ListOperations](../api-ref/grpc/Cluster/listOperations.md) method, e.g., via the following [gRPCurl](https://github.com/fullstorydev/grpcurl) request:

     ```bash
     grpcurl \
       -format json \
       -import-path ~/cloudapi/ \
       -import-path ~/cloudapi/third_party/googleapis/ \
       -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/cluster_service.proto \
       -rpc-header "Authorization: Bearer $IAM_TOKEN" \
       -d '{
               "cluster_id": "<cluster_ID>"
           }' \
       mdb.api.cloud.yandex.net:443 \
       yandex.cloud.mdb.postgresql.v1.ClusterService.ListOperations
     ```

     You can get the cluster ID with the [list of clusters in the folder](#list-clusters).

  1. Check the [server response](../api-ref/grpc/Cluster/listOperations.md#yandex.cloud.mdb.postgresql.v1.ListClusterOperationsResponse) to make sure your request was successful.

{% endlist %}

### Getting operation details {#get-operations-info}

{% list tabs group=instructions %}

- Management console {#console}

    1. [Navigate to the list of all cluster operations or operations for your specific cluster](#get-operations).
    1. Click the ID of the operation you need.

    {% note info %}
    
    Operations where details are available have the ![image](../../_assets/mdb/info.svg) icon next to their ID.
    
    {% endnote %}
    
    Operation details include a hierarchical list of the operation steps. The first-level items are actions with the cluster, and the second-level ones are actions with hosts. The list may vary for different operations:
    
    * If a step is running or has completed, its start date and time are displayed. 
    * If a step has not yet started, it has the **In queue** status.
    
    The list displays the following actions:
    
    * **Preparing metadata**: Preparing information and data for the operation.
    * **Preparing backup storage**: Preparing storage for backups.
    * **Creating cluster**: Creating a cluster.
    * **Installing software**: Installing software (e.g., creating a database or installing auxiliary plugin packages).
    * **Initializing database**: Initializing a database.
    * **Infrastructure integration**: Creating connections between new objects and the Yandex Cloud infrastructure (e.g., DNS propagation, issuing certificates, adding hosts to the monitoring system).
    * **Updating host groups**: Updating a host group.
    * **Updating hosts**: Updating hosts.
    * **Completing**: Completing the operation.
    
    Actions with hosts:
    
    * **Reserving resources**: Allocating resources for a host.
    * **Creating host**: Creating a host.
    * **Launching host**: Starting a host.
    * **Preparing host**: Preparing a host.
    * **Updating database software**: Updating software.
    * **Updating database services**: Updating database services.
    * **Creating DNS records**: Creating a DNS record.
    * **Restarting database**: Restarting a database.

- CLI {#cli}

    If you do not have the Yandex Cloud CLI yet, [install and initialize it](../../cli/quickstart.md#install).

    The folder used by default is the one specified when [creating](../../cli/operations/profile/profile-create.md) the CLI profile. To change the default folder, use the `yc config set folder-id <folder_ID>` command. You can also specify a different folder for any command using `--folder-name` or `--folder-id`. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

    To get detailed information about an operation, run this command:

    ```bash
    yc operation get <operation_ID>
    ```

    You can get the operation ID with the [list of operations](#get-operations) for the cluster.

    Here is an example of an output for the completed cluster creation operation:

    ```text
    id: c9qvtaeael629vooobjn
    description: Create PostgreSQL cluster
    created_at: "2025-12-29T01:00:10.342661Z"
    created_by: ajefhe0o8uas********
    modified_at: "2025-12-29T01:10:42.927393Z"
    done: true
    metadata:
      '@type': type.googleapis.com/yandex.cloud.mdb.postgresql.v1.CreateClusterMetadata
      cluster_id: c9qheabu83os********
      operation_log:
        entities:
          - cluster_id: c9qheabu83os********
            action: Preparing metadata
            started_at: "2025-12-29T01:00:12.962815Z"
            hosts:
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Preparing host
                started_at: "2025-12-29T01:00:14.133616Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Preparing host
                started_at: "2025-12-29T01:00:14.355756Z"
          - cluster_id: c9qheabu83os********
            action: Preparing backup storage
            started_at: "2025-12-29T01:00:16.219396Z"
          - cluster_id: c9qheabu83os********
            action: Creating cluster
            started_at: "2025-12-29T01:00:29.106594Z"
            hosts:
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Reserving resources
                started_at: "2025-12-29T01:00:31.926872Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Reserving resources
                started_at: "2025-12-29T01:00:40.139058Z"
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Creating host
                started_at: "2025-12-29T01:00:46.710067Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Creating host
                started_at: "2025-12-29T01:00:48.757701Z"
          - cluster_id: c9qheabu83os********
            action: Installing software
            started_at: "2025-12-29T01:01:48.454943Z"
            hosts:
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Launching host
                started_at: "2025-12-29T01:02:08.738499Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Launching host
                started_at: "2025-12-29T01:02:18.973229Z"
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Updating database software
                started_at: "2025-12-29T01:02:19.329133Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Updating database software
                started_at: "2025-12-29T01:02:19.557436Z"
          - cluster_id: c9qheabu83os********
            action: Initializing database
            started_at: "2025-12-29T01:05:20.261791Z"
          - cluster_id: c9qheabu83os********
            action: Infrastructure integration
            started_at: "2025-12-29T01:10:33.044048Z"
            hosts:
              - fqdn: rc1b-3mrj18nj********.mdb.yandexcloud.net
                action: Creating DNS records
                started_at: "2025-12-29T01:10:33.306624Z"
              - fqdn: rc1d-qsor0ftm********.mdb.yandexcloud.net
                action: Creating DNS records
                started_at: "2025-12-29T01:10:33.595051Z"
    response:
      '@type': type.googleapis.com/yandex.cloud.mdb.postgresql.v1.Cluster
      id: c9qheabu83os********
      ...
    ```

- REST API {#api}

    1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

        ```bash
        export IAM_TOKEN="<IAM_token>"
        ```

    1. Call the [Operation.Get](../api-ref/Operation/get.md) method, e.g., via the following [cURL](https://curl.se/) request:

        ```bash
        curl \
            --request GET \
            --header "Authorization: Bearer $IAM_TOKEN" \
            --url 'https://operation.api.cloud.yandex.net/operations/<operation_ID>'
        ```

        You can get the operation ID with the [list of operations](#get-operations) for the cluster.

    1. Check the [server response](../api-ref/Operation/get.md#yandex.cloud.operation.Operation) to make sure your request was successful.

- gRPC API {#grpc-api}

    1. [Get an IAM token for API authentication](../api-ref/authentication.md) and put it into an environment variable:

        ```bash
        export IAM_TOKEN="<IAM_token>"
        ```

    1. Clone the [cloudapi](https://github.com/yandex-cloud/cloudapi) repository:
       
       ```bash
       cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
       ```
       
       Below, we assume that the repository contents reside in the `~/cloudapi/` directory.
    1. Call the [OperationService.Get](../api-ref/grpc/Operation/get.md) method, e.g., via the following [gRPCurl](https://github.com/fullstorydev/grpcurl) request:

        ```bash
        grpcurl \
            -format json \
            -import-path ~/cloudapi/ \
            -import-path ~/cloudapi/third_party/googleapis/ \
            -proto ~/cloudapi/yandex/cloud/operation/operation_service.proto \
            -rpc-header "Authorization: Bearer $IAM_TOKEN" \
            -d '{
                  "operation_id": "<operation_ID>"
                }' \
            operation.api.cloud.yandex.net:443 \
            yandex.cloud.operation.OperationService.Get
        ```

        You can get the operation ID with the [list of operations](#get-operations) for the cluster.

    1. Check the [server response](../api-ref/grpc/Operation/get.md#yandex.cloud.operation.Operation) to make sure your request was successful.

{% endlist %}

### Useful links {#see-also}

* [Working with operations](../../api-design-guide/concepts/about-async.md)