Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Managed Service for Trino
  • Getting started
    • All guides
      • Getting information on existing catalogs
      • Creating a catalog
      • Updating a catalog
      • Deleting a catalog
  • Terraform reference
  • Quotas and limits
  • Access management
  • Pricing policy
  • Yandex Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Roles for creating a Trino catalog
  • Creating a Trino catalog
  • Trino catalog settings
  • ClickHouse® connector
  • Delta Lake connector
  • Hive connector
  • Hudi connector Preview
  • Iceberg connector
  • Oracle connector Preview
  • PostgreSQL connector
  • MS SQL Server connector Preview
  • TPC-DS connector
  • TPC-H connector
  1. Step-by-step guides
  2. Catalogs
  3. Creating a catalog

Creating a Trino catalog

Written by
Yandex Cloud
Updated at November 13, 2025
  • Roles for creating a Trino catalog
  • Creating a Trino catalog
  • Trino catalog settings
    • ClickHouse® connector
    • Delta Lake connector
    • Hive connector
    • Hudi connector Preview
    • Iceberg connector
    • Oracle connector Preview
    • PostgreSQL connector
    • MS SQL Server connector Preview
    • TPC-DS connector
    • TPC-H connector

Roles for creating a Trino catalogRoles for creating a Trino catalog

To create a Trino catalog with the Connection Manager connection type, your Yandex Cloud account needs an additional role, connection-manager.user, to use connections from Connection Manager.

Make sure you assign the connection-manager.user and lockbox.payloadViewer roles to the cluster service account. The cluster will thus get the permissions it needs to work with connections from Connection Manager. For more information, see Impersonation.

For more information about assigning roles, see the Yandex Identity and Access Management documentation.

Creating a Trino catalogCreating a Trino catalog

Management console
CLI
Terraform
REST API
gRPC API
  1. On the resource folder page, select Managed Service for Trino.
  2. Click the cluster name.
  3. In the left-hand panel, select Catalogs.
  4. Click Create catalog.
  5. In the Catalog name field, enter a name for the Trino catalog.
  6. In the Connector type field, select the connector type.
  7. Configure Trino catalog settings.
  8. Click Create.

If you do not have the Yandex Cloud CLI installed yet, install and initialize it.

By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.

  1. View the description of the CLI command for creating a Trino catalog:

    yc managed-trino catalog create --help
    
  2. View the description of the CLI command for creating a Trino catalog with a specific connector:

    yc managed-trino catalog create <connector_type> --help
    
  3. To create a Trino catalog, run this command:

    yc managed-trino catalog create <connector_type> <Trino_catalog_name>
    

    In the command, you also need to provide the settings for your Trino catalog depending on the connector type. Learn more about settings for various connector types.

  1. Open the current Terraform configuration file describing your infrastructure.

    For information on how to create this file, see Creating a cluster.

  2. Add the yandex_trino_catalog resource:

    resource "yandex_trino_catalog" "<Trino_catalog_name>" {
      name        = "<Trino_catalog_name>"
      cluster_id  = yandex_trino_cluster.<cluster_name>.id
      <connector_type> = {
        <Trino_catalog_settings>
      }
    }
    

    Learn more about the Trino catalog settings for various connector types.

  3. Validate your configuration.

    1. In the command line, navigate to the directory that contains the current Terraform configuration files defining the infrastructure.

    2. Run this command:

      terraform validate
      

      Terraform will show any errors found in your configuration files.

  4. Confirm updating the resources.

    1. Run this command to view the planned changes:

      terraform plan
      

      If you described the configuration correctly, the terminal will display a list of the resources to update and their parameters. This is a verification step that does not apply changes to your resources.

    2. If everything looks correct, apply the changes:

      1. Run this command:

        terraform apply
        
      2. Confirm updating the resources.

      3. Wait for the operation to complete.

  1. Get an IAM token for API authentication and save it as an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Use the Catalog.Create method and run the request, e.g., using cURL:

    curl \
        --request POST \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
        --data '{
                  "catalog": {
                    "name": "<Trino_catalog_name>",
                    "connector": {
                      "<connector_type>": {
                        <Trino_catalog_settings>
                      }
                    }
                  }
                }'
    

    Learn more about the Trino catalog settings for various connector types.

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

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

  1. Get an IAM token for API authentication and save it as an 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 CatalogService.Create call and run the following request, e.g., via gRPCurl:

    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<cluster_ID>",
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "<connector_type>": {
                        <Trino_catalog_settings>
                  }
                }
              }
            }' \
        trino.api.cloud.yandex.net:443 \
        yandex.cloud.trino.v1.CatalogService.Create
    

    Learn more about the Trino catalog settings for various connector types.

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

  4. Check the server response to make sure your request was successful.

Trino catalog settingsTrino catalog settings

Trino catalog settings depend on the connector you select.

Note

Connectors marked with Preview are at the preview stage. Their stability is not guaranteed.

ClickHouse® connectorClickHouse® connector

Adjust the settings according to your connection type: Connection Manager or On-premise (custom installation).

Connection ManagerConnection Manager

Management console
CLI
Terraform
REST API
gRPC API
  • Connection ID: Connection ID in Connection Manager for connection to the ClickHouse® cluster.

    To find out the connection ID:

    1. Navigate to the folder dashboard and select Managed Service for ClickHouse.
    2. Click the cluster name and navigate to the Connections tab.
  • Database: DB name in the ClickHouse® cluster.

  • Client parameters: ClickHouse® client parameters in key: value format.

    Available parameters
    • async: Use of asynchronous mode, true or false.

    • buffer_queue_variation: How many times the buffer can be filled up before its size is increased.

    • buffer_size: Buffer size, increases to max_buffer_size on overflow.

    • client_name: Client name.

    • compress: Data compression in the server response, true or false.

    • compress_algorithm: Data compression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

    • compress_level: Data compression level.

    • connect_timeout: Maximum server connection timeout, in milliseconds.

    • decompress: Decompressing data in client request, true or false.

    • decompress_algorithm: Data decompression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

    • decompress_level: Data decompression level.

    • failover: Maximum number of attempts to connect to replicas if the server is unavailable.

    • load_balancing_policy: Replica selection algorithm for connection.

      • firstAlive: Request goes to the first available replica.
      • random: Request goes to a random replica.
      • roundRobin: Applies the Round-robin policy to select a replica.
    • max_buffer_size: Maximum buffer size.

    • max_threads_per_client: Maximum number of threads per client.

    • product_name: Product name in User-Agent.

    • read_buffer_size: Read buffer size, in bytes. The default value is buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

    • request_buffering: Request buffering mode.

      • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
      • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
      • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
    • request_chunk_size: Request chunk size, in bytes.

    • response_buffering: Response buffering mode.

      • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
      • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
      • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
    • server_time_zone: Serve time zone.

    • use_server_time_zone: Use of the server time zone, true or false.

    • use_server_time_zone_for_dates: Use of the server time zone when processing the Date values, true or false.

    • use_time_zone: What time zone to use, i.e., Europe/Amsterdam. Applies if use_server_time_zone is false.

    • write_buffer_size: Write buffer size, in bytes. By default, equals buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create clickhouse <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --connection-manager-connection-id <connection_ID> \
  --connection-manager-database <DB_name> \
  --connection-manager-connection-properties <list_of_ClickHouse®_client_parameters> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.

  • --connection-manager-connection-id: Connection ID in Connection Manager for connecting to the ClickHouse® cluster.

    To find out the connection ID:

    1. Navigate to the folder dashboard and select Managed Service for ClickHouse.
    2. Click the cluster name and navigate to the Connections tab.
  • --connection-manager-database: DB name in the ClickHouse® cluster.

  • --connection-manager-connection-properties: ClickHouse® client parameters in key=value format.

    Available parameters
    • async: Use of asynchronous mode, true or false.

    • buffer_queue_variation: How many times the buffer can be filled up before its size is increased.

    • buffer_size: Buffer size, increases to max_buffer_size on overflow.

    • client_name: Client name.

    • compress: Data compression in the server response, true or false.

    • compress_algorithm: Data compression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

    • compress_level: Data compression level.

    • connect_timeout: Maximum server connection timeout, in milliseconds.

    • decompress: Decompressing data in client request, true or false.

    • decompress_algorithm: Data decompression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

    • decompress_level: Data decompression level.

    • failover: Maximum number of attempts to connect to replicas if the server is unavailable.

    • load_balancing_policy: Replica selection algorithm for connection.

      • firstAlive: Request goes to the first available replica.
      • random: Request goes to a random replica.
      • roundRobin: Applies the Round-robin policy to select a replica.
    • max_buffer_size: Maximum buffer size.

    • max_threads_per_client: Maximum number of threads per client.

    • product_name: Product name in User-Agent.

    • read_buffer_size: Read buffer size, in bytes. The default value is buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

    • request_buffering: Request buffering mode.

      • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
      • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
      • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
    • request_chunk_size: Request chunk size, in bytes.

    • response_buffering: Response buffering mode.

      • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
      • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
      • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
    • server_time_zone: Serve time zone.

    • use_server_time_zone: Use of the server time zone, true or false.

    • use_server_time_zone_for_dates: Use of the server time zone when processing the Date values, true or false.

    • use_time_zone: What time zone to use, i.e., Europe/Amsterdam. Applies if use_server_time_zone is false.

    • write_buffer_size: Write buffer size, in bytes. By default, equals buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

  • additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  clickhouse = {
    connection_manager = {
      connection_id = "<connection_ID>"
      database      = "<DB_name>"
      connection_properties = {
        <list_of_ClickHouse®_client_settings>
      }
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • connection_manager: Connection Manager settings:

    • connection_id: Connection ID in Connection Manager for connecting to the ClickHouse® cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for ClickHouse.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the ClickHouse® cluster.

    • connection_properties: List of ClickHouse® client settings in "key" = "value" format.

      Available parameters
      • async: Use of asynchronous mode, true or false.

      • buffer_queue_variation: How many times the buffer can be filled up before its size is increased.

      • buffer_size: Buffer size, increases to max_buffer_size on overflow.

      • client_name: Client name.

      • compress: Data compression in the server response, true or false.

      • compress_algorithm: Data compression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • compress_level: Data compression level.

      • connect_timeout: Maximum server connection timeout, in milliseconds.

      • decompress: Decompressing data in client request, true or false.

      • decompress_algorithm: Data decompression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • decompress_level: Data decompression level.

      • failover: Maximum number of attempts to connect to replicas if the server is unavailable.

      • load_balancing_policy: Replica selection algorithm for connection.

        • firstAlive: Request goes to the first available replica.
        • random: Request goes to a random replica.
        • roundRobin: Applies the Round-robin policy to select a replica.
      • max_buffer_size: Maximum buffer size.

      • max_threads_per_client: Maximum number of threads per client.

      • product_name: Product name in User-Agent.

      • read_buffer_size: Read buffer size, in bytes. The default value is buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

      • request_buffering: Request buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • request_chunk_size: Request chunk size, in bytes.

      • response_buffering: Response buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • server_time_zone: Serve time zone.

      • use_server_time_zone: Use of the server time zone, true or false.

      • use_server_time_zone_for_dates: Use of the server time zone when processing the Date values, true or false.

      • use_time_zone: What time zone to use, i.e., Europe/Amsterdam. Applies if use_server_time_zone is false.

      • write_buffer_size: Write buffer size, in bytes. By default, equals buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "clickhouse": {
                    "connection": {
                      "connectionManager": {
                        "connectionId": "<connection_ID>",
                        "database": "<DB_name>",
                        "connectionProperties": {
                          <list_of_ClickHouse®_client_settings>
                        }
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • connectionManager: Connection Manager settings:

    • connectionId: Connection ID in Connection Manager for connecting to the ClickHouse® cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for ClickHouse.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the ClickHouse® cluster.

    • connectionProperties: List of ClickHouse® client settings in "key": "value" format.

      Available parameters
      • async: Use of asynchronous mode, true or false.

      • buffer_queue_variation: How many times the buffer can be filled up before its size is increased.

      • buffer_size: Buffer size, increases to max_buffer_size on overflow.

      • client_name: Client name.

      • compress: Data compression in the server response, true or false.

      • compress_algorithm: Data compression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • compress_level: Data compression level.

      • connect_timeout: Maximum server connection timeout, in milliseconds.

      • decompress: Decompressing data in client request, true or false.

      • decompress_algorithm: Data decompression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • decompress_level: Data decompression level.

      • failover: Maximum number of attempts to connect to replicas if the server is unavailable.

      • load_balancing_policy: Replica selection algorithm for connection.

        • firstAlive: Request goes to the first available replica.
        • random: Request goes to a random replica.
        • roundRobin: Applies the Round-robin policy to select a replica.
      • max_buffer_size: Maximum buffer size.

      • max_threads_per_client: Maximum number of threads per client.

      • product_name: Product name in User-Agent.

      • read_buffer_size: Read buffer size, in bytes. The default value is buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

      • request_buffering: Request buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • request_chunk_size: Request chunk size, in bytes.

      • response_buffering: Response buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • server_time_zone: Serve time zone.

      • use_server_time_zone: Use of the server time zone, true or false.

      • use_server_time_zone_for_dates: Use of the server time zone when processing the Date values, true or false.

      • use_time_zone: What time zone to use, i.e., Europe/Amsterdam. Applies if use_server_time_zone is false.

      • write_buffer_size: Write buffer size, in bytes. By default, equals buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "clickhouse": {
                "connection": {
                  "connection_manager": {
                    "connection_id": "<connection_ID>",
                    "database": "<DB_name>",
                    "connection_properties": {
                      <list_of_ClickHouse®_client_settings>
                    }
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • connection_manager: Connection Manager settings:

    • connection_id: Connection ID in Connection Manager for connecting to the ClickHouse® cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for ClickHouse.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the ClickHouse® cluster.

    • connection_properties: List of ClickHouse® client settings in "key": "value" format.

      Available parameters
      • async: Use of asynchronous mode, true or false.

      • buffer_queue_variation: How many times the buffer can be filled up before its size is increased.

      • buffer_size: Buffer size, increases to max_buffer_size on overflow.

      • client_name: Client name.

      • compress: Data compression in the server response, true or false.

      • compress_algorithm: Data compression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • compress_level: Data compression level.

      • connect_timeout: Maximum server connection timeout, in milliseconds.

      • decompress: Decompressing data in client request, true or false.

      • decompress_algorithm: Data decompression algorithm. The possible values are: BROTLI, BZ2, DEFLATE, GZIP, LZ4, SNAPPY, XZ, ZSTD, or NONE.

      • decompress_level: Data decompression level.

      • failover: Maximum number of attempts to connect to replicas if the server is unavailable.

      • load_balancing_policy: Replica selection algorithm for connection.

        • firstAlive: Request goes to the first available replica.
        • random: Request goes to a random replica.
        • roundRobin: Applies the Round-robin policy to select a replica.
      • max_buffer_size: Maximum buffer size.

      • max_threads_per_client: Maximum number of threads per client.

      • product_name: Product name in User-Agent.

      • read_buffer_size: Read buffer size, in bytes. The default value is buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

      • request_buffering: Request buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • request_chunk_size: Request chunk size, in bytes.

      • response_buffering: Response buffering mode.

        • RESOURCE_EFFICIENT: Provides moderate performance with minimum use of CPU and RAM. This mode relies only on the buffer size, no queue is used.
        • PERFORMANCE: Maximizes performance by actively utilizing CPU and RAM.
        • CUSTOM: Allows manual buffering settings to balance out resource utilization and desired performance.
      • server_time_zone: Serve time zone.

      • use_server_time_zone: Use of the server time zone, true or false.

      • use_server_time_zone_for_dates: Use of the server time zone when processing the Date values, true or false.

      • use_time_zone: What time zone to use, i.e., Europe/Amsterdam. Applies if use_server_time_zone is false.

      • write_buffer_size: Write buffer size, in bytes. By default, equals buffer_size. When the buffer is full, the size gets increased to max_buffer_size.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

On-premise connectionOn-premise connection

Management console
CLI
Terraform
REST API
gRPC API
  • URL: URL for connecting to the ClickHouse® DB, in jdbc:clickhouse://<host_address>:<port>/<DB_name> format.
  • Username: Username for connecting to the ClickHouse® DB.
  • Password: User password for connecting to the ClickHouse® DB.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create clickhouse <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --on-premise-connection-url <URL_for_connection> \
  --on-premise-user-name <username> \
  --on-premise-password <user_password> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --on-premise-connection-url: URL for connecting to the ClickHouse® DB, in the following format: jdbc:clickhouse://<host_address>:<port>/<DB_name>.
  • --on-premise-user-name: Username for connection to the ClickHouse® DB.
  • --on-premise-password: User password for connecting to the ClickHouse® DB.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  clickhouse = {
    on_premise = {
      connection_url = "<URL_for_connection>"
      user_name      = "<username>"
      password       = "<user_password>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connection to the ClickHouse® DB, in jdbc:clickhouse://<host_address>:<port>/<DB_name> format.
    • user_name: Username for connection to the ClickHouse® DB.
    • password: User password for connection to the ClickHouse® DB.
  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "clickhouse": {
                    "connection": {
                      "onPremise": {
                        "connectionUrl": "<URL_for_connection>",
                        "userName": "<username>",
                        "password": "<user_password>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • onPremise: Settings for connecting to the custom installation:

    • connectionUrl: URL for connection to the ClickHouse® DB, in jdbc:clickhouse://<host_address>:<port>/<DB_name> format.
    • userName: Username for connection to the ClickHouse® DB.
    • password: User password for connecting to the ClickHouse® DB.
  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "clickhouse": {
                "connection": {
                  "on_premise": {
                    "connection_url": "<URL_for_connection>",
                    "user_name": "<username>",
                    "password": "<user_password>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connection to the ClickHouse® DB, in jdbc:clickhouse://<host_address>:<port>/<DB_name> format.
    • user_name: Username for connection to the ClickHouse® DB.
    • password: User password for connecting to the ClickHouse® DB.
  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Delta Lake connectorDelta Lake connector

Management console
CLI
Terraform
REST API
gRPC API
  • URI: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • File storage: File storage type. Available options: Yandex Object Storage and external storage.

    For external storage, specify:

    • Access key ID: ID of an AWS-compatible static access key.
    • Secret key: Secret key of an AWS-compatible static access key.
    • Endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
    • Region: File storage region, e.g., ru-central1.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create delta-lake <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --metastore-hive-uri <URI_for_connection> \
  --filesystem-native-s3 \
  --filesystem-external-s3-aws-access-key <access_key_ID> \
  --filesystem-external-s3-aws-secret-key <secret_key> \
  --filesystem-external-s3-aws-endpoint <endpoint> \
  --filesystem-external-s3-aws-region <region> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster where you are creating your Trino catalog. You can request the cluster ID with a list of clusters.

  • --metastore-hive-uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • --filesystem-native-s3: Yandex Object Storage.

  • --filesystem-external-s3-aws-access-key: ID of AWS-compatible static access key.

  • --filesystem-external-s3-aws-secret-key: Secret key of AWS-compatible static access key.

  • --filesystem-external-s3-aws-endpoint: File storage endpoint, e.g., storage.yandexcloud.net.

  • --filesystem-external-s3-aws-region: File storage region, e.g., ru-central1.

    Note

    Specify either the --filesystem-native-s3 flag to use an Object Storage, or flags of the --filesystem-external-s3-aws group to use an external storage.

  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  delta_lake = {
    file_system = {
      s3 = {}
    }
    metastore = {
      uri = "<URI_for_connection>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • file_system: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "deltaLake": {
                    "filesystem": {
                      "s3": {}
                    },
                    "metastore": {
                      "hive": {
                        "uri": "<URI_for_connection>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • externalS3: External storage. You need to specify additional parameters for this one:

      • awsAccessKey: ID of AWS-compatible static access key.
      • awsSecretKey: Secret key of AWS-compatible static access key.
      • awsEndpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • awsRegion: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "delta_lake": {
                "filesystem": {
                  "s3": {}
                },
                "metastore": {
                  "hive": {
                    "uri": "<URI_for_connection>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Hive connectorHive connector

Management console
CLI
Terraform
REST API
gRPC API
  • URI: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • File storage: File storage type. Available options: Yandex Object Storage and external storage.

    For external storage, specify:

    • Access key ID: ID of an AWS-compatible static access key.
    • Secret key: Secret key of an AWS-compatible static access key.
    • Endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
    • Region: File storage region, e.g., ru-central1.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create hive <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --metastore-hive-uri <URI_for_connection> \
  --filesystem-native-s3 \
  --filesystem-external-s3-aws-access-key <access_key_ID> \
  --filesystem-external-s3-aws-secret-key <secret_key> \
  --filesystem-external-s3-aws-endpoint <endpoint> \
  --filesystem-external-s3-aws-region <region> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster where you are creating your Trino catalog. You can request the cluster ID with a list of clusters.

  • --metastore-hive-uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • --filesystem-native-s3: Yandex Object Storage.

  • --filesystem-external-s3-aws-access-key: ID of AWS-compatible static access key.

  • --filesystem-external-s3-aws-secret-key: Secret key of AWS-compatible static access key.

  • --filesystem-external-s3-aws-endpoint: File storage endpoint, e.g., storage.yandexcloud.net.

  • --filesystem-external-s3-aws-region: File storage region, e.g., ru-central1.

    Note

    Specify either the --filesystem-native-s3 flag to use an Object Storage, or flags of the --filesystem-external-s3-aws group to use an external storage.

  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  hive = {
    file_system = {
      s3 = {}
    }
    metastore = {
      uri = "<URI_for_connection>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • file_system: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "hive": {
                    "filesystem": {
                      "s3": {}
                    },
                    "metastore": {
                      "hive": {
                        "uri": "<URI_for_connection>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • externalS3: External storage. You need to specify additional parameters for this one:

      • awsAccessKey: ID of AWS-compatible static access key.
      • awsSecretKey: Secret key of AWS-compatible static access key.
      • awsEndpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • awsRegion: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "hive": {
                "filesystem": {
                  "s3": {}
                },
                "metastore": {
                  "hive": {
                    "uri": "<URI_for_connection>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Hudi connector PreviewHudi connector Preview

Management console
CLI
Terraform
REST API
gRPC API
  • URI: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • File storage: File storage type. Available options: Yandex Object Storage and external storage.

    For external storage, specify:

    • Access key ID: ID of an AWS-compatible static access key.
    • Secret key: Secret key of an AWS-compatible static access key.
    • Endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
    • Region: File storage region, e.g., ru-central1.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create hudi <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --metastore-hive-uri <URI_for_connection> \
  --filesystem-native-s3 \
  --filesystem-external-s3-aws-access-key <access_key_ID> \
  --filesystem-external-s3-aws-secret-key <secret_key> \
  --filesystem-external-s3-aws-endpoint <endpoint> \
  --filesystem-external-s3-aws-region <region> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster where you are creating your Trino catalog. You can request the cluster ID with a list of clusters.

  • --metastore-hive-uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • --filesystem-native-s3: Yandex Object Storage.

  • --filesystem-external-s3-aws-access-key: ID of AWS-compatible static access key.

  • --filesystem-external-s3-aws-secret-key: Secret key of AWS-compatible static access key.

  • --filesystem-external-s3-aws-endpoint: File storage endpoint, e.g., storage.yandexcloud.net.

  • --filesystem-external-s3-aws-region: File storage region, e.g., ru-central1.

    Note

    Specify either the --filesystem-native-s3 flag to use an Object Storage, or flags of the --filesystem-external-s3-aws group to use an external storage.

  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  hudi = {
    file_system = {
      s3 = {}
    }
    metastore = {
      uri = "<URI_for_connection>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • file_system: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "hudi": {
                    "filesystem": {
                      "s3": {}
                    },
                    "metastore": {
                      "hive": {
                        "uri": "<URI_for_connection>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • externalS3: External storage. You need to specify additional parameters for this one:

      • awsAccessKey: ID of AWS-compatible static access key.
      • awsSecretKey: Secret key of AWS-compatible static access key.
      • awsEndpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • awsRegion: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "hudi": {
                "filesystem": {
                  "s3": {}
                },
                "metastore": {
                  "hive": {
                    "uri": "<URI_for_connection>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Iceberg connectorIceberg connector

Management console
CLI
Terraform
REST API
gRPC API
  • URI: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • File storage: File storage type. Available options: Yandex Object Storage and external storage.

    For external storage, specify:

    • Access key ID: ID of an AWS-compatible static access key.
    • Secret key: Secret key of an AWS-compatible static access key.
    • Endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
    • Region: File storage region, e.g., ru-central1.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create iceberg <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --metastore-hive-uri <URI_for_connection> \
  --filesystem-native-s3 \
  --filesystem-external-s3-aws-access-key <access_key_ID> \
  --filesystem-external-s3-aws-secret-key <secret_key> \
  --filesystem-external-s3-aws-endpoint <endpoint> \
  --filesystem-external-s3-aws-region <region> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster where you are creating your Trino catalog. You can request the cluster ID with a list of clusters.

  • --metastore-hive-uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • --filesystem-native-s3: Yandex Object Storage.

  • --filesystem-external-s3-aws-access-key: ID of AWS-compatible static access key.

  • --filesystem-external-s3-aws-secret-key: Secret key of AWS-compatible static access key.

  • --filesystem-external-s3-aws-endpoint: File storage endpoint, e.g., storage.yandexcloud.net.

  • --filesystem-external-s3-aws-region: File storage region, e.g., ru-central1.

    Note

    Specify either the --filesystem-native-s3 flag to use an Object Storage, or flags of the --filesystem-external-s3-aws group to use an external storage.

  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  iceberg = {
    file_system = {
      s3 = {}
    }
    metastore = {
      uri = "<URI_for_connection>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • file_system: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "iceberg": {
                    "filesystem": {
                      "s3": {}
                    },
                    "metastore": {
                      "hive": {
                        "uri": "<URI_for_connection>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • externalS3: External storage. You need to specify additional parameters for this one:

      • awsAccessKey: ID of AWS-compatible static access key.
      • awsSecretKey: Secret key of AWS-compatible static access key.
      • awsEndpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • awsRegion: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "iceberg": {
                "filesystem": {
                  "s3": {}
                },
                "metastore": {
                  "hive": {
                    "uri": "<URI_for_connection>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • filesystem: File storage type. Available options:

    • s3: Yandex Object Storage.

    • external_s3: External storage. You need to specify additional parameters for this one:

      • aws_access_key: ID of AWS-compatible static access key.
      • aws_secret_key: Secret key of AWS-compatible static access key.
      • aws_endpoint: File storage endpoint, e.g., storage.yandexcloud.net.
      • aws_region: File storage region, e.g., ru-central1.
  • metastore.hive.uri: URI for connection to the Apache Hive™ Metastore cluster in thrift://<cluster_IP_address>:9083 format.

    To find out the Apache Hive™ Metastore cluster IP address, select Yandex MetaData Hub in the management console and then select Metastore in the left-hand panel.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Oracle connector PreviewOracle connector Preview

Management console
CLI
Terraform
REST API
gRPC API
  • Connection type: On-premise.
  • URL: URL for connecting to the Oracle DB, in jdbc:oracle:thin:@<host_address>:<port>:<SID>. SID format, Oracle system ID.
  • Username: Username for connecting to the Oracle DB.
  • Password: User password for connecting to the Oracle DB.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create oracle <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --on-premise-connection-url <URL_for_connection> \
  --on-premise-user-name <username> \
  --on-premise-password <user_password> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --on-premise-connection-url: URL for connecting to the Oracle DB, in jdbc:oracle:thin:@<host_address>:<port>:<SID>. SID format, Oracle system ID.
  • --on-premise-user-name: Username for connection to the Oracle DB.
  • --on-premise-password: User password for connection to the Oracle DB.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  oracle = {
    on_premise = {
      connection_url = "<URL_for_connection>"
      user_name      = "<username>"
      password       = "<user_password>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the Oracle DB, in jdbc:oracle:thin:@<host_address>:<port>:<SID> format, where SID is the Oracle system ID.
    • user_name: Username for connection to the Oracle DB.
    • password: User password for connection to the Oracle DB.
  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "oracle": {
                    "connection": {
                      "onPremise": {
                        "connectionUrl": "<URL_for_connection>",
                        "userName": "<username>",
                        "password": "<user_password>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • onPremise: Settings for connecting to the custom installation:

    • connectionUrl: URL for connecting to the Oracle DB, in jdbc:oracle:thin:@<host_address>:<port>:<SID> format, where SID is the Oracle system ID.
    • userName: Username for connection to the Oracle DB.
    • password: User password for connection to the Oracle DB.
  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "oracle": {
                "connection": {
                  "on_premise": {
                    "connection_url": "<URL_for_connection>",
                    "user_name": "<username>",
                    "password": "<user_password>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the Oracle DB, in jdbc:oracle:thin:@<host_address>:<port>:<SID> format, where SID is the Oracle system ID.
    • user_name: Username for connection to the Oracle DB.
    • password: User password for connection to the Oracle DB.
  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

PostgreSQL connectorPostgreSQL connector

Adjust the settings according to your connection type: Connection Manager or On-premise (custom installation).

Connection ManagerConnection Manager

Management console
CLI
Terraform
REST API
gRPC API
  • Connection ID: Connection ID in Connection Manager for connection to the PostgreSQL cluster.

    To find out the connection ID:

    1. Navigate to the folder dashboard and select Managed Service for PostgreSQL.
    2. Click the cluster name and navigate to the Connections tab.
  • Database: DB name in the PostgreSQL cluster.

  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create postgresql <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --connection-manager-connection-id <connection_ID> \
  --connection-manager-database <DB_name> \
  --connection-manager-connection-properties <list_of_PostgreSQL_client_parameters> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.

  • --connection-manager-connection-id: Connection ID in Connection Manager for connecting to the PostgreSQL cluster.

    To find out the connection ID:

    1. Navigate to the folder dashboard and select Managed Service for PostgreSQL.
    2. Click the cluster name and navigate to the Connections tab.
  • --connection-manager-database: DB name in the PostgreSQL cluster.

  • --connection-manager-connection-properties: List of PostgreSQL client settings in key=value format.

    Available parameters
    • ApplicationName: Name of the application using the connection.

    • defaultRowFetchSize: Number of rows fetched in ResultSet per database query. The default value is 0 (all rows are fetched at once). Limit the number of rows to avoid unnecessary memory usage.

    • hostRecheckSeconds: Time in seconds before rechecking the host status. The default value is 10.

    • loadBalanceHosts: Defines how the hosts are connected. The possible values are:

      • false (default): Connect hosts in the specified order.
      • true: Randomly select hosts from a pool of suitable candidates.
    • maxResultBuffer: Result buffer size not to exceed when reading the results. You can set the value in one of the two ways:

      • In bytes, e.g., 100, 200M, or 2G.
      • As a percentage of the maximum heap memory, e.g., 10p, 20pct, or 50percent. The value cannot exceed 90% of the maximum heap memory. All larger values will be reduced to this limit.

      By default, maxResultBuffer is set to null, i.e., there are no limits on reading results.

    • maxSendBufferSize: Maximum number of bytes to buffer before sending to the server side. The pgjdbc driver uses the least(maxSendBufferSize, greatest(8192, SO_SNDBUF)) function to determine the buffer size.

    • readOnly: Switches the connection to read-only mode. The default value is false.

    • readOnlyMode: Manages the connection behavior in read-only mode, i.e., if readOnly = true. The possible values are:

      • ignore: Ignores the readOnly parameter.
      • transaction (default): If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
      • always: If autocommit is true, the session will be set to read only. If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
    • receiveBufferSize: Socket read buffer size (SO_RCVBUF) in bytes. The default value is -1, unlimited.

    • sendBufferSize: Socket write buffer size (SO_SNDBUF) in bytes. The default value is -1, unlimited.

    • targetServerType: Defines which server type to connect to. The possible values are any (default), master, primary, slave, secondary, preferSlave, preferSecondary, and preferPrimary. We do not recommend using the master, slave, and preferSlave values, as they have been deprecated and replaced with primary, secondary, and preferSecondary, respectively.

  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  postgresql = {
    connection_manager = {
      connection_id = "<connection_ID>"
      database      = "<DB_name>"
      connection_properties = {
        <list_of_PostgreSQL_client_settings>
      }
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • connection_manager: Connection Manager settings:

    • connection_id: Connection ID in Connection Manager for connecting to the PostgreSQL cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for PostgreSQL.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the PostgreSQL cluster.

    • connection_properties: List of PostgreSQL client settings in "key" = "value" format.

      Available parameters
      • ApplicationName: Name of the application using the connection.

      • defaultRowFetchSize: Number of rows fetched in ResultSet per database query. The default value is 0 (all rows are fetched at once). Limit the number of rows to avoid unnecessary memory usage.

      • hostRecheckSeconds: Time in seconds before rechecking the host status. The default value is 10.

      • loadBalanceHosts: Defines how the hosts are connected. The possible values are:

        • false (default): Connect hosts in the specified order.
        • true: Randomly select hosts from a pool of suitable candidates.
      • maxResultBuffer: Result buffer size not to exceed when reading the results. You can set the value in one of the two ways:

        • In bytes, e.g., 100, 200M, or 2G.
        • As a percentage of the maximum heap memory, e.g., 10p, 20pct, or 50percent. The value cannot exceed 90% of the maximum heap memory. All larger values will be reduced to this limit.

        By default, maxResultBuffer is set to null, i.e., there are no limits on reading results.

      • maxSendBufferSize: Maximum number of bytes to buffer before sending to the server side. The pgjdbc driver uses the least(maxSendBufferSize, greatest(8192, SO_SNDBUF)) function to determine the buffer size.

      • readOnly: Switches the connection to read-only mode. The default value is false.

      • readOnlyMode: Manages the connection behavior in read-only mode, i.e., if readOnly = true. The possible values are:

        • ignore: Ignores the readOnly parameter.
        • transaction (default): If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
        • always: If autocommit is true, the session will be set to read only. If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
      • receiveBufferSize: Socket read buffer size (SO_RCVBUF) in bytes. The default value is -1, unlimited.

      • sendBufferSize: Socket write buffer size (SO_SNDBUF) in bytes. The default value is -1, unlimited.

      • targetServerType: Defines which server type to connect to. The possible values are any (default), master, primary, slave, secondary, preferSlave, preferSecondary, and preferPrimary. We do not recommend using the master, slave, and preferSlave values, as they have been deprecated and replaced with primary, secondary, and preferSecondary, respectively.

  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "postgresql": {
                    "connection": {
                      "connectionManager": {
                        "connectionId": "<connection_ID>",
                        "database": "<DB_name>",
                        "connectionProperties": {
                          <list_of_PostgreSQL_client_settings>
                        }
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • connectionManager: Connection Manager settings:

    • connectionId: Connection ID in Connection Manager for connecting to the PostgreSQL cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for PostgreSQL.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the PostgreSQL cluster.

    • connectionProperties: List of PostgreSQL client settings in "key": "value" format.

      Available parameters
      • ApplicationName: Name of the application using the connection.

      • defaultRowFetchSize: Number of rows fetched in ResultSet per database query. The default value is 0 (all rows are fetched at once). Limit the number of rows to avoid unnecessary memory usage.

      • hostRecheckSeconds: Time in seconds before rechecking the host status. The default value is 10.

      • loadBalanceHosts: Defines how the hosts are connected. The possible values are:

        • false (default): Connect hosts in the specified order.
        • true: Randomly select hosts from a pool of suitable candidates.
      • maxResultBuffer: Result buffer size not to exceed when reading the results. You can set the value in one of the two ways:

        • In bytes, e.g., 100, 200M, or 2G.
        • As a percentage of the maximum heap memory, e.g., 10p, 20pct, or 50percent. The value cannot exceed 90% of the maximum heap memory. All larger values will be reduced to this limit.

        By default, maxResultBuffer is set to null, i.e., there are no limits on reading results.

      • maxSendBufferSize: Maximum number of bytes to buffer before sending to the server side. The pgjdbc driver uses the least(maxSendBufferSize, greatest(8192, SO_SNDBUF)) function to determine the buffer size.

      • readOnly: Switches the connection to read-only mode. The default value is false.

      • readOnlyMode: Manages the connection behavior in read-only mode, i.e., if readOnly = true. The possible values are:

        • ignore: Ignores the readOnly parameter.
        • transaction (default): If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
        • always: If autocommit is true, the session will be set to read only. If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
      • receiveBufferSize: Socket read buffer size (SO_RCVBUF) in bytes. The default value is -1, unlimited.

      • sendBufferSize: Socket write buffer size (SO_SNDBUF) in bytes. The default value is -1, unlimited.

      • targetServerType: Defines which server type to connect to. The possible values are any (default), master, primary, slave, secondary, preferSlave, preferSecondary, and preferPrimary. We do not recommend using the master, slave, and preferSlave values, as they have been deprecated and replaced with primary, secondary, and preferSecondary, respectively.

  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "postgesql": {
                "connection": {
                  "connection_manager": {
                    "connection_id": "<connection_ID>",
                    "database": "<DB_name>",
                    "connection_properties": {
                      <list_of_PostgreSQL_client_settings>
                    }
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • connection_manager: Connection Manager settings:

    • connection_id: Connection ID in Connection Manager for connecting to the PostgreSQL cluster.

      To find out the connection ID:

      1. In the management console, navigate to the folder page and select Managed Service for PostgreSQL.
      2. Click the cluster name and navigate to the Connections tab.
    • database: DB name in the PostgreSQL cluster.

    • connection_properties: List of PostgreSQL client settings in "key": "value" format.

      Available parameters
      • ApplicationName: Name of the application using the connection.

      • defaultRowFetchSize: Number of rows fetched in ResultSet per database query. The default value is 0 (all rows are fetched at once). Limit the number of rows to avoid unnecessary memory usage.

      • hostRecheckSeconds: Time in seconds before rechecking the host status. The default value is 10.

      • loadBalanceHosts: Defines how the hosts are connected. The possible values are:

        • false (default): Connect hosts in the specified order.
        • true: Randomly select hosts from a pool of suitable candidates.
      • maxResultBuffer: Result buffer size not to exceed when reading the results. You can set the value in one of the two ways:

        • In bytes, e.g., 100, 200M, or 2G.
        • As a percentage of the maximum heap memory, e.g., 10p, 20pct, or 50percent. The value cannot exceed 90% of the maximum heap memory. All larger values will be reduced to this limit.

        By default, maxResultBuffer is set to null, i.e., there are no limits on reading results.

      • maxSendBufferSize: Maximum number of bytes to buffer before sending to the server side. The pgjdbc driver uses the least(maxSendBufferSize, greatest(8192, SO_SNDBUF)) function to determine the buffer size.

      • readOnly: Switches the connection to read-only mode. The default value is false.

      • readOnlyMode: Manages the connection behavior in read-only mode, i.e., if readOnly = true. The possible values are:

        • ignore: Ignores the readOnly parameter.
        • transaction (default): If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
        • always: If autocommit is true, the session will be set to read only. If autocommit is false, the driver will set the transaction to read only by sending BEGIN READ ONLY.
      • receiveBufferSize: Socket read buffer size (SO_RCVBUF) in bytes. The default value is -1, unlimited.

      • sendBufferSize: Socket write buffer size (SO_SNDBUF) in bytes. The default value is -1, unlimited.

      • targetServerType: Defines which server type to connect to. The possible values are any (default), master, primary, slave, secondary, preferSlave, preferSecondary, and preferPrimary. We do not recommend using the master, slave, and preferSlave values, as they have been deprecated and replaced with primary, secondary, and preferSecondary, respectively.

  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

On-premise connectionOn-premise connection

Management console
CLI
Terraform
REST API
gRPC API
  • URL: URL for connecting to the PostgreSQL DB, in jdbc:postgresql://<host_address>:<port>/<DB_name> format.
  • Username: Username for connecting to the PostgreSQL DB.
  • Password: User password for connecting to the PostgreSQL DB.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create postgresql <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --on-premise-connection-url <URL_for_connection> \
  --on-premise-user-name <username> \
  --on-premise-password <user_password> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --on-premise-connection-url: URL for connecting to the PostgreSQL DB, in jdbc:postgresql://<host_address>:<port>/<DB_name> format.
  • --on-premise-user-name: Username for connection to the PostgreSQL DB.
  • --on-premise-password: User password for connecting to the PostgreSQL DB.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  postgresql = {
    on_premise = {
      connection_url = "<URL_for_connection>"
      user_name      = "<username>"
      password       = "<user_password>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the PostgreSQL DB, in jdbc:postgresql://<host_address>:<port>/<DB_name> format.
    • user_name: Username for connection to the PostgreSQL DB.
    • password: User password for connecting to the PostgreSQL DB.
  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "postgesql": {
                    "connection": {
                      "onPremise": {
                        "connectionUrl": "<URL_for_connection>",
                        "userName": "<username>",
                        "password": "<user_password>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • onPremise: Settings for connecting to the custom installation:

    • connectionUrl: URL for connecting to the PostgreSQL DB, in jdbc:postgresql://<host_address>:<port>/<DB_name> format.
    • userName: Username for connection to the PostgreSQL DB.
    • password: User password for connecting to the PostgreSQL DB.
  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "postgresql": {
                "connection": {
                  "on_premise": {
                    "connection_url": "<URL_for_connection>",
                    "user_name": "<username>",
                    "password": "<user_password>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the PostgreSQL DB, in jdbc:postgresql://<host_address>:<port>/<DB_name> format.
    • user_name: Username for connection to the PostgreSQL DB.
    • password: User password for connecting to the PostgreSQL DB.
  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

MS SQL Server connector PreviewMS SQL Server connector Preview

Management console
CLI
Terraform
REST API
gRPC API
  • Connection type: On-premise.
  • URL: URL for connecting to the Microsoft SQL Server DB, in jdbc:sqlserver://<host_address>:<port>;databaseName=<DB_name> format.
  • Username: Username for connecting to the Microsoft SQL Server DB.
  • Password: User password for connecting to the Microsoft SQL Server DB.
  • Additional settings: Provide in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create sqlserver <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --on-premise-connection-url <URL_for_connection> \
  --on-premise-user-name <username> \
  --on-premise-password <user_password> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --on-premise-connection-url: URL for connecting to the Microsoft SQL Server DB, in jdbc:sqlserver://<host_address>:<port>;databaseName=<DB_name> format.
  • --on-premise-user-name: Username for connecting to the Microsoft SQL Server DB.
  • --on-premise-password: User password for connecting to the Microsoft SQL Server DB.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  sqlserver = {
    on_premise = {
      connection_url = "<URL_for_connection>"
      user_name      = "<username>"
      password       = "<user_password>"
    }
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the Microsoft SQL Server DB, in jdbc:sqlserver://<host_address>:<port>;databaseName=<DB_name> format.
    • user_name: Username for connecting to the Microsoft SQL Server DB.
    • password: User password for connecting to the Microsoft SQL Server DB.
  • additional_properties: List of additional settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "sqlserver": {
                    "connection": {
                      "onPremise": {
                        "connectionUrl": "<URL_for_connection>",
                        "userName": "<username>",
                        "password": "<user_password>"
                      }
                    },
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where:

  • onPremise: Settings for connecting to the custom installation:

    • connectionUrl: URL for connecting to the Microsoft SQL Server DB, in jdbc:sqlserver://<host_address>:<port>;databaseName=<DB_name> format.
    • userName: Username for connecting to the Microsoft SQL Server DB.
    • password: User password for connecting to the Microsoft SQL Server DB.
  • additionalProperties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "sqlserver": {
                "connection": {
                  "on_premise": {
                    "connection_url": "<URL_for_connection>",
                    "user_name": "<username>",
                    "password": "<user_password>"
                  }
                },
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where:

  • on_premise: Settings for connecting to the custom installation:

    • connection_url: URL for connecting to the Microsoft SQL Server DB, in jdbc:sqlserver://<host_address>:<port>;databaseName=<DB_name> format.
    • user_name: Username for connecting to the Microsoft SQL Server DB.
    • password: User password for connecting to the Microsoft SQL Server DB.
  • additional_properties: List of additional settings in "key": "value" format. For a list of available settings, see the official documentation.

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

TPC-DS connectorTPC-DS connector

The TPC-DS connector has no required settings. Optionally, you can configure advanced settings.

Management console
CLI
Terraform
REST API
gRPC API

You can specify additional settings in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create tpcds <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  tpcds = {
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where additional_properties is a list of advanced settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "tpcds": {
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where additionalProperties is a list of advanced settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "tpcds": {
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where additional_properties is a list of advanced settings in "key": "value" format. For a list of available settings, see the official documentation.

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

TPC-H connectorTPC-H connector

The TPC-H connector has no required settings. Optionally, you can configure advanced settings.

Management console
CLI
Terraform
REST API
gRPC API

You can specify additional settings in key: value format. For a list of available settings, see the official documentation.

Command example:

yc managed-trino catalog create tpch <Trino_catalog_name> \
  --cluster-id <cluster_ID> \
  --additional-properties <list_of_additional_settings>

Where:

  • --cluster-id: ID of the cluster you are creating the Trino catalog in. You can get the cluster ID from the list of clusters.
  • --additional-properties: Additional settings in key=value format. For a list of available settings, see the official documentation.

Configuration example:

resource "yandex_trino_catalog" "<Trino_catalog_name>" {
  ...
  tpch = {
    additional_properties = {
      <list_of_additional_settings>
    }
  }
}

Where additional_properties is a list of advanced settings in "key" = "value" format. For a list of available settings, see the official documentation.

Command example:

curl \
    --request POST \
    --header "Authorization: Bearer $IAM_TOKEN" \
    --header "Content-Type: application/json" \
    --url 'https://trino.api.cloud.yandex.net/managed-trino/v1/clusters/<cluster_ID>/catalogs' \
    --data '{
              "catalog": {
                "name": "<Trino_catalog_name>",
                "connector": {
                  "tpch": {
                    "additionalProperties": {
                      <list_of_additional_settings>
                    }
                  }
                }
              }
            }'

Where additionalProperties is a list of advanced settings in "key": "value" format. For a list of available settings, see the official documentation.

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

Command example:

grpcurl \
    -format json \
    -import-path ~/cloudapi/ \
    -import-path ~/cloudapi/third_party/googleapis/ \
    -proto ~/cloudapi/yandex/cloud/trino/v1/catalog_service.proto \
    -rpc-header "Authorization: Bearer $IAM_TOKEN" \
    -d '{
          "cluster_id": "<cluster_ID>",
          "catalog": {
            "name": "<Trino_catalog_name>",
            "connector": {
              "tpch": {
                "additional_properties": {
                  <list_of_additional_settings>
                }
              }
            }
          }
        }' \
    trino.api.cloud.yandex.net:443 \
    yandex.cloud.trino.v1.CatalogService.Create

Where additional_properties is a list of advanced settings in "key": "value" format. For a list of available settings, see the official documentation.

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

ClickHouse® is a registered trademark of ClickHouse, Inc.

Was the article helpful?

Previous
Getting information on existing catalogs
Next
Updating a catalog
© 2025 Direct Cursus Technology L.L.C.