Yandex Cloud
Search
Contact UsGet started
  • Blog
  • Pricing
  • Documentation
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • ML & AI
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Customer Stories
    • Gateway to Russia
    • Cloud for Startups
    • Education and Science
  • Blog
  • Pricing
  • Documentation
Yandex project
© 2025 Yandex.Cloud LLC
Yandex Managed Service for PostgreSQL
  • Getting started
    • All tutorials
      • Viewing cluster logs
      • Performance diagnostics
      • Monitoring the state of clusters and hosts
      • Connecting to DataLens
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes

In this article:

  • Getting a cluster log
  • Getting a cluster log stream
  1. Step-by-step tutorials
  2. Logs and monitoring
  3. Viewing cluster logs

Viewing PostgreSQL cluster logs

Written by
Yandex Cloud
Updated at May 13, 2025
  • Getting a cluster log
  • Getting a cluster log stream

Managed Service for PostgreSQL allows you to get a cluster log snippet for the selected period and view logs in real time.

Note

Cluster logs are kept for 30 days.

To identify potential issues in a cluster, use other tools to analyze the cluster state alongside its logs.

Getting a cluster logGetting a cluster log

Management console
CLI
REST API
gRPC API
  1. Go to the folder page and select Managed Service for PostgreSQL.
  2. Click the name of the cluster you need and select the Logs tab.
  3. Specify the time period you want the log info for: enter it manually or select in the calendar using the date input field.
  4. If required, request the POOLER log and specify the hosts and logging level in the line with the date input field.

A list of log entries for the selected time period will be displayed. To view detailed information about an event, click the respective entry in the list.

If there are too many entries and not all of them are displayed, click Load more at the end of the list.

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

  1. View the description of the CLI command to view cluster logs:

    yc managed-postgresql cluster list-logs --help
    
  2. Run the following command to get cluster logs (our example does not contain a complete list of available parameters):

    yc managed-postgresql cluster list-logs <cluster_name_or_ID> \
       --limit <entry_number_limit> \
       --format <output_format> \
       --service-type <service_type> \
       --columns <list_of_data_columns> \
       --filter <entry_filtration_settings> \
       --since <time_range_left_boundary> \
       --until <time_range_right_boundary>
    

    Where:

    • --limit: limits on the number of entries to output.

    • --format: Format for log entries (text, yaml, json, or json-rest).

    • --service-type: Type of the service for which you want to output entries (postgresql or pooler).

    • --columns: List of data columns:

      • hostname: Host name.
      • db: Database name.
      • level: Logging level, e.g., info.
      • pid: ID of the current session’s server process.
      • text: Message output by the component.

      Note

      The example shows only the main columns. The list of data columns depends on the selected --service-type.

      To output separate columns, provide the --format key and specify the output format (yaml, json, or json-rest). Columns are not supported for text output format that is set by default.

    • --filter: record filter settings, for example, message.hostname='node1.mdb.yandexcloud.net'.

    • --since: Left boundary of a time range in RFC-3339, HH:MM:SS format or a time interval relative to the current time. Examples: 2006-01-02T15:04:05Z, 15:04:05, 2h, 3h30m ago.

    • --until: right boundary of a time range, the format is similar to that of --since.

You can request the cluster name and ID with the list of clusters in the folder.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.ListLogs method and send the following request, e.g., via cURL:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>:logs' \
      --url-query serviceType=<service_type> \
      --url-query columnFilter=<column_list> \
      --url-query fromTime=<time_range_left_boundary> \
      --url-query toTime=<time_range_right_boundary>
    

    Where:

    • serviceType: Type of the service to get logs for:

      • POSTGRESQL: PostgreSQL operations.
      • POOLER: Connection manager operations.
    • columnFilter: Name of the data column:

      • hostname: Host name.
      • db: Database name.
      • level: Logging level, e.g., info.
      • pid: ID of the current session’s server process.
      • text: Message output by the component.

      Note

      The list of data columns depends on the selected serviceType. The example shows only the main columns for the POOLER type.

      You can specify only one column in the columnFilter parameter. If you want to filter logs by more than one column, provide a list of the columns in several parameters.

    • fromTime: Left boundary of a time range in RFC-3339 format, Example: 2024-09-18T15:04:05Z.

    • toTime: Right boundary of a time range, the format is the same as for fromTime.

    You can get the cluster ID with a list of clusters in the folder.

  3. View the server response to make sure the request was successful.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.ListLogs call and send the following request, e.g., via gRPCurl:

    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>",
            "service_type": "<service_type>",
            "column_filter": [
              "<column_1>", "<column_2>", ..., "<column_N>"
            ],
            "from_time": "<time_range_left_boundary>",
            "to_time": "<time_range_right_boundary>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.ListLogs
    

    Where:

    • service_type: Type of the service to get logs for:

      • POSTGRESQL: PostgreSQL operations.
      • POOLER: Connection manager operations.
    • column_filter: List of data columns:

      • hostname: Host name.
      • db: Database name.
      • level: Logging level, e.g., info.
      • pid: ID of the current session’s server process.
      • text: Message output by the component.

      Note

      The list of data columns depends on the selected service_type. The example shows only the main columns for the POOLER type.

      You can specify more than one column in the column_filter parameter if you want to filter logs by multiple columns.

    • from_time: Left boundary of a time range in RFC-3339 format, e.g., 2024-09-18T15:04:05Z.

    • to_time: Right boundary of a time range, the format is the same as for from_time.

    You can get the cluster ID with a list of clusters in the folder.

  4. View the server response to make sure the request was successful.

Getting a cluster log streamGetting a cluster log stream

This method allows you to get cluster logs in real time.

CLI
REST API
gRPC API

If you do not have the Yandex Cloud (CLI) command line interface yet, install and initialize it.

The folder specified when creating the CLI profile is used by default. To change the default folder, use the yc config set folder-id <folder_ID> command. You can specify a different folder using the --folder-name or --folder-id parameter.

To view cluster logs as they become available, run this command:

yc managed-postgresql cluster list-logs <cluster_name_or_ID> --follow

You can request the cluster name and ID with the list of clusters in the folder.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Cluster.StreamLogs method and send the following request, e.g., via cURL:

    curl \
      --request GET \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>:stream_logs' \
      --url-query serviceType=<service_type> \
      --url-query columnFilter=<column_list>
    

    Where:

    • serviceType: Type of the service to get logs for:

      • POSTGRESQL: PostgreSQL operation logs.
      • POOLER: Connection pooler operation logs.
    • columnFilter: Name of the data column:

      • hostname: Host name.
      • db: Database name.
      • level: Logging level, e.g., info.
      • pid: ID of the current session’s server process.
      • text: Message output by the component.

      Note

      The list of data columns depends on the selected serviceType. The example shows only the main columns for the POOLER type.

      You can specify only one column in the columnFilter parameter. If you want to filter logs by more than one column, provide a list of the columns in several parameters.

    You can get the cluster ID with a list of clusters in the folder.

  3. View the server response to make sure the request was successful.

    Once you run the command, it does not terminate. The command output displays new logs in real time.

  1. Get an IAM token for API authentication and put it into the environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Clone the cloudapi repository:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Below, we assume the repository contents are stored in the ~/cloudapi/ directory.

  3. Use the ClusterService.StreamLogs call and send the following request, e.g., via gRPCurl:

    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>",
            "service_type": "<service_type>",
            "column_filter": [
              "<column_1>", "<column_2>", ..., "<column_N>"
            ]
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.ClusterService.StreamLogs
    

    Where:

    • service_type: Type of the service to get logs for:

      • POSTGRESQL: PostgreSQL operation logs.
      • POOLER: Connection pooler operation logs.
    • column_filter: List of data columns:

      • hostname: Host name.
      • db: Database name.
      • level: Logging level, e.g., info.
      • pid: ID of the current session’s server process.
      • text: Message output by the component.

      Note

      The list of data columns depends on the selected service_type. The example shows only the main columns for the POOLER type.

      You can specify more than one column in the column_filter parameter if you want to filter logs by multiple columns.

    You can get the cluster ID with a list of clusters in the folder.

  4. View the server response to make sure the request was successful.

    Once you run the command, it does not terminate. The command output displays new logs in real time.

Was the article helpful?

Previous
Hunspell dictionaries for full-text search
Next
Performance diagnostics
Yandex project
© 2025 Yandex.Cloud LLC