Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • 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
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Managed Service for PostgreSQL
  • Getting started
    • All guides
      • Connecting to a database
      • SQL queries in Yandex WebSQL
      • Copying and populating a table
      • Managing databases
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Public materials
  • Release notes

In this article:

  • Getting a list of cluster databases
  • Creating a database
  • Renaming a database
  • Configuring deletion protection
  • Deleting a database
  1. Step-by-step guides
  2. Databases
  3. Managing databases

Managing databases in Managed Service for PostgreSQL

Written by
Yandex Cloud
Updated at December 25, 2025
  • Getting a list of cluster databases
  • Creating a database
  • Renaming a database
  • Configuring deletion protection
  • Deleting a database

You can add, rename, and drop databases, as well as view their details.

Warning

You can't manage databases using SQL commands.

Getting a list of cluster databasesGetting a list of cluster databases

Management console
CLI
REST API
gRPC API
  1. Go to Managed Service for PostgreSQL.
  2. Click the name of your cluster and open the Databases tab.

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.

To get a list of cluster databases, run this command:

yc managed-postgresql database list --cluster-name=<cluster_name>

You can get the cluster name from the folder’s cluster list.

  1. Get an IAM token for API authentication and place it in an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.List method, for instance, via the following cURL request:

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

    You can get the cluster ID from the folder’s cluster list.

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

  1. Get an IAM token for API authentication and place it in 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. Call the DatabaseService.List method, for instance, via the following gRPCurl request:

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

    You can get the cluster ID from the folder’s cluster list.

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

Creating a databaseCreating a database

Note

You can create a maximum of 1000 databases in each cluster.

Management console
CLI
Terraform
REST API
gRPC API
  1. Go to Managed Service for PostgreSQL.

  2. Click the relevant cluster’s name.

  3. If necessary, create a new user account for database owner.

  4. Select the Databases tab.

  5. Click Create database.

  6. Specify database settings:

    • Name

      The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    • Owner

    • Deletion protection

      Possible values:

      • Same as cluster
      • Enabled
      • Disabled
    • Template: The name of an existing database to use as a template for the new database’s schema. This is an optional setting. Creating the new database will close all active connections to the template database.

      For more information, see this PostgreSQL guide.

    • Locales for collation and character set.

      PostgreSQL supports multiple locales. The choice of locale affects the following:

      • Sort order in queries using the ORDER BY clause or standard text comparison operators.
      • upper, lower, initcap, and to_char functions.
      • Pattern-matching operators, e.g., LIKE, ILIKE, SIMILAR TO, and regular expressions.
      • Support of indexes with the LIKE operator.

      The default locale is C. When using the C encoding for text data with non-Latin, e.g., Cyrillic, characters, you may encounter errors in data sorting and incorrect pattern-matching results. If this locale causes incorrect data handling in your database, select a different one from the list. However, note that using a non-standard locale may reduce database query performance.

      To learn more about locale settings, see the this PostgreSQL article.

      Once you create a database, you cannot change its locale settings. However, you can set a collation for columns when creating or altering individual tables. For more information, see the relevant PostgreSQL guides.

  7. 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.

To create a database in a cluster:

  1. See the description of the CLI command for creating a database:

    yc managed-postgresql database create --help
    
  2. Request a list of cluster users to select the owner for the new database:

    yc managed-postgresql user list --cluster-name=<cluster_name>
    

    If necessary, create a new user.

  3. Run the database creation command. Optionally, specify the template and your preferred collation and character set locales. The default locale settings are LC_COLLATE=C and LC_CTYPE=C:

    yc managed-postgresql database create <DB_name> \
       --cluster-name=<cluster_name> \
       --owner=<DB_owner_name> \
       --lc-collate=<collation_locale> \
       --lc-type=<character_set_locale> \
       --template-db=<DB_template_name>
    

    The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    You can get the cluster name from the folder’s cluster list.

    Managed Service for PostgreSQL will launch the database creation process.

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

    For more information about creating this file, see this guide.

    For a complete list of configurable Managed Service for PostgreSQL cluster database settings, refer to the Terraform provider guides.

  2. Add the yandex_mdb_postgresql_database resource: Optionally, specify the template and your preferred collation and character set locales. The default locale settings are LC_COLLATE=C and LC_CTYPE=C:

    resource "yandex_mdb_postgresql_database" "<DB_name>" {
      cluster_id  = "<cluster_ID>"
      name        = "<DB_name>"
      owner       = "<DB_owner_name>"
      lc_collate  = "<collation_locale>"
      lc_type     = "<character_set_locale>"
      template_db = "<DB_template_name>"
      deletion_protection = <deletion_protection>
    }
    

    Where:

    • owner: Name of the user who will own the database, defined in the yandex_mdb_postgresql_user resource.
    • deletion_protection: Database deletion protection. The possible values are true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

  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 resource changes.

    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.

Warning

Changing the owner of the existing database by editing the owner setting will trigger the database recreation, resulting in data loss.

  1. Get an IAM token for API authentication and place it in an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Create method, for instance, via the following cURL request:

    curl \
      --request POST \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>/databases' \
      --data '{
                "databaseSpec": {
                  "name": "<DB_name>",
                  "owner": "<DB_owner_name>",
                  "lcCollate": "<collation_locale>",
                  "lcCtype": "<character_set_locale>",
                  "extensions": [
                    {
                      "name": "<extension_name>"
                    }
                  ],
                  "deletionProtection": <deletion_protection>
                }
              }'
    

    Where databaseSpec is the object containing the settings for the new database and having the the following structure:

    • name: Database name.

      The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    • owner: Database owner.

    • lcCollate: Collation locale. The default value is C.

    • lcCtype: Character set locale. The default value is C.

    • extensions: Array of database extensions. Each array element contains the configuration for a single extension and has the following structure:

      • extensions.name: Extension name.

      Use a name from the list of supported PostgreSQL extensions and utilities.

    • deletionProtection: Database deletion protection. The possible values are true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    You can get the cluster ID from the folder’s cluster list.

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

  1. Get an IAM token for API authentication and place it in 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. Call the DatabaseService.Create method, for instance, via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_spec": {
              "name": "<DB_name>",
              "owner": "<DB_owner_name>",
              "lc_collate": "<collation_locale>",
              "lc_ctype": "<character_set_locale>",
              "extensions": [
                {
                  "name": "<extension_name>"
                }
              ],
              "deletion_protection": <deletion_protection>
            }
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.DatabaseService.Create
    

    Where databaseSpec is the object containing the settings for the new database and having the the following structure:

    • name: Database name.

      The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    • owner: Database owner.

    • lc_collate: Collation locale. The default value is C.

    • lc_ctype: Character set locale. The default value is C.

    • extensions: Array of database extensions. Each array element contains the configuration for a single extension and has the following structure:

      • extensions.name: Extension name.

      Use a name from the list of supported PostgreSQL extensions and utilities.

    • deletion_protection: Database deletion protection. The possible values are true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    You can get the cluster ID from the folder’s cluster list.

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

Renaming a databaseRenaming a database

Terraform
REST API
gRPC API
  1. Open the current Terraform configuration file describing your infrastructure.

    To learn how to create this file, see Creating clusters.

    For a complete list of configurable Managed Service for PostgreSQL cluster database settings, refer to the Terraform provider guides.

  2. Find the yandex_mdb_postgresql_database resource describing your target database.

  3. Update the name field:

    resource "yandex_mdb_postgresql_database" "<database_name>" {
      ...
      name     = "<new_database_name>"
      ...
    }
    

    The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

  4. 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.

  5. Confirm resource changes.

    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 place it in an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Update method, for instance, via the following cURL request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>/databases/<previous_DB_name>' \
      --data '{
                "updateMask": "newDatabaseName",
                "newDatabaseName": "<new_DB_name>"
              }'
    

    Where:

    • updateMask: Comma-separated list of settings you want to update.

      Here, we provide only one setting.

    • newDatabaseName: New database name.

      The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    You can get the cluster ID from the folder’s cluster list, and the database name from the cluster’s database list.

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

  1. Get an IAM token for API authentication and place it in 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. Call the DatabaseService.Update method, for instance, via the following gRPCurl request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<previous_DB_name>",
            "update_mask": {
              "paths": [
                "new_database_name"
              ]
            },
            "new_database_name": "<new_DB_name>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.DatabaseService.Update
    

    Where:

    • update_mask: List of settings you want to update as an array of strings (paths[]).

      Here, we provide only one setting.

    • new_database_name: New database name.

      The database name may contain Latin letters, numbers, underscores, and hyphens. The maximum name length is 63 characters. The names postgres, template0, and template1 are reserved for internal use by Managed Service for PostgreSQL. You cannot create databases using these names.

    You can get the cluster ID from the folder’s cluster list, and the database name from the list of cluster databases.

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

Configuring deletion protectionConfiguring deletion protection

Management console
Terraform
REST API
gRPC API
  1. Go to Managed Service for PostgreSQL.
  2. Click the name of your cluster and open the Databases tab.
  3. Find the database you need in the list, click in its row, then select Configure.
  4. Select your preferred option in the Deletion protection field.
  5. Click Save.
  1. Open the current Terraform configuration file describing your infrastructure.

  2. Find the yandex_mdb_postgresql_database resource describing your target database.

  3. Add the deletion_protection attribute. The possible values are true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    resource "yandex_mdb_postgresql_database" "<DB_name>" {
      ...
      deletion_protection = <deletion_protection>
      ...
    }
    
  4. 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.

  5. Confirm resource changes.

    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 place it in an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Update method, for instance, via the following cURL request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the updateMask parameter as a single comma-separated string.

    curl \
      --request PATCH \
      --header "Authorization: Bearer $IAM_TOKEN" \
      --header "Content-Type: application/json" \
      --url 'https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/<cluster_ID>/databases/<DB_name>' \
      --data '{
                "updateMask": "deletionProtection",
                "deletionProtection": <deletion_protection>
              }'
    

    Where:

    • updateMask: Comma-separated list of settings you want to update.

      Here, we provide only one setting.

    • deletionProtection: Database deletion protection, true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    You can get the cluster ID from the folder’s cluster list, and the database name from the list of cluster databases.

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

  1. Get an IAM token for API authentication and place it in 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. Call the DatabaseService.Update method, for instance, via the following gRPCurl request:

    Warning

    The API method will assign default values to all the parameters of the object you are modifying unless you explicitly provide them in your request. To avoid this, list the settings you want to change in the update_mask parameter as an array of paths[] strings.

    Format for listing settings
    "update_mask": {
        "paths": [
            "<setting_1>",
            "<setting_2>",
            ...
            "<setting_N>"
        ]
    }
    
    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<DB_name>",
            "update_mask": {
              "paths": [
                "deletion_protection"
              ]
            },
            "deletion_protection": <deletion_protection>
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.DatabaseService.Update
    

    Where:

    • update_mask: List of settings you want to update as an array of strings (paths[]).

      Here, we provide only one setting.

    • deletion_protection: Database deletion protection, true, false, or unspecified (inherits the value from the cluster). The default value is unspecified.

    You can get the cluster ID from the folder’s cluster list, and the database name from the list of cluster databases.

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

Warning

Deletion protection only applies to individual databases. Deleting a cluster will permanently remove all its databases, including those with deletion protection.

Deleting a databaseDeleting a database

A database can have deletion protection enabled. To delete it, first disable deletion protection.

Management console
CLI
Terraform
REST API
gRPC API

To delete a database:

  1. Go to Managed Service for PostgreSQL.
  2. Click the name of your cluster and open the Databases tab.
  3. Find the database you need in the list, click in its row, select Delete, then confirm the deletion.

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.

To delete a database, run this command:

yc managed-postgresql database delete <DB_name> \
   --cluster-name <cluster_name>

You can get the cluster name from the folder’s cluster list.

To delete a database:

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

    To learn how to create this file, see Creating clusters.

    For a complete list of configurable Managed Service for PostgreSQL cluster database settings, refer to the Terraform provider guides.

  2. Delete the yandex_mdb_postgresql_database resource that has the name of your target database.

  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 resource changes.

    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 place it in an environment variable:

    export IAM_TOKEN="<IAM_token>"
    
  2. Call the Database.Delete method, for instance, via the following cURL request:

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

    You can get the cluster ID from the folder’s cluster list, and the database name from the list of cluster databases.

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

  1. Get an IAM token for API authentication and place it in 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. Call the DatabaseService.Delete method, for instance, via the following gRPCurl request:

    grpcurl \
      -format json \
      -import-path ~/cloudapi/ \
      -import-path ~/cloudapi/third_party/googleapis/ \
      -proto ~/cloudapi/yandex/cloud/mdb/postgresql/v1/database_service.proto \
      -rpc-header "Authorization: Bearer $IAM_TOKEN" \
      -d '{
            "cluster_id": "<cluster_ID>",
            "database_name": "<DB_name>"
          }' \
      mdb.api.cloud.yandex.net:443 \
      yandex.cloud.mdb.postgresql.v1.DatabaseService.Delete
    

    You can get the cluster ID from the folder’s cluster list, and the database name from the list of cluster databases.

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

Warning

Wait for the deletion operation to fully complete before creating a new database with the same name. Otherwise, the original database will be restored. You can check the operation status in the list of cluster operations.

Was the article helpful?

Previous
Copying and populating a table
Next
DB user management
© 2026 Direct Cursus Technology L.L.C.