yandex_mdb_sharded_postgresql_database (Resource)
Written by
Updated at September 11, 2025
Manages a Sharded PostgreSQL database within the Yandex.Cloud
Example usage
//
// Create a new MDB Sharded PostgreSQL Database.
//
resource "yandex_mdb_sharded_postgresql_database" "my_db" {
cluster_id = yandex_mdb_sharded_postgresql_cluster.my_cluster.id
name = "testdb"
}
resource "yandex_mdb_sharded_postgresql_cluster" "my_cluster" {
name = "test"
environment = "PRESTABLE"
network_id = yandex_vpc_network.foo.id
config = {
sharded_postgresql_config = {
common = {
console_password = "P@ssw0rd"
}
router = {
resources = {
resource_preset_id = "s2.micro"
disk_type_id = "network-ssd"
disk_size = 32
}
}
}
}
hosts = {
"router1" = {
zone = "ru-central1-a"
subnet_id = yandex_vpc_subnet.foo.id
assign_public_ip = false
type = "ROUTER"
}
}
}
// Auxiliary resources
resource "yandex_vpc_network" "foo" {}
resource "yandex_vpc_subnet" "foo" {
zone = "ru-central1-d"
network_id = yandex_vpc_network.foo.id
v4_cidr_blocks = ["10.5.0.0/24"]
}
Schema
Required
cluster_id(String) ID of the Sharded PostgreSQL cluster. Provided by the client when the user is created.name(String) Name of the Sharded PostgreSQL user. Provided by the client when the user is created.
Optional
timeouts(Attributes) (see below for nested schema)
Read-Only
id(String) The resource identifier.
Nested Schema for timeouts
Optional:
create(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).delete(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.update(String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
The resource can be imported by using their resource ID. For getting the resource ID you can use Yandex Cloud Web Console
# terraform import yandex_mdb_sharded_postgresql_database.<resource Name> <resource Id>
terraform import yandex_mdb_sharded_postgresql_database.my_db ...