Управление базами данных в Sharded PostgreSQL
Вы можете добавлять и удалять базы данных, а также просматривать информацию о них.
Получить список баз данных в кластере
- Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку Базы данных.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Database.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-spqr/v1/clusters/<идентификатор_кластера>/databases' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом DatabaseService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/database_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.spqr.v1.DatabaseService.List -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить информацию о базе данных
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Database.Get и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-spqr/v1/clusters/<идентификатор_кластера>/databases/<имя_БД>' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом DatabaseService.Get и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/database_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "database_name": "<имя_БД>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.spqr.v1.DatabaseService.Get -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Создать базу данных
-
Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.
-
Нажмите на имя нужного кластера и выберите вкладку Базы данных.
-
Нажмите кнопку Создать базу данных.
-
Укажите параметры базы данных:
-
Имя.
Имя БД может содержать латинские буквы, цифры, подчеркивание и дефис. Максимальная длина имени 63 символа. Имена
postgres,template0,template1зарезервированы. Создать БД с этими именами нельзя. -
Защита от удаления.
Возможные значения:
- Как у кластера
- Включена
- Выключена
-
-
Нажмите кнопку Создать.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Database.Create и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-spqr/v1/clusters/<идентификатор_кластера>/databases' \ --data '{ "databaseSpec": { "name": "<имя_БД>", "deletionProtection": "<защитить_БД_от_удаления>" } }'Где
databaseSpec— параметры новой БД:-
name— имя БД.Имя БД может содержать латинские буквы, цифры, подчеркивание и дефис. Максимальная длина имени 63 символа. Имена
postgres,template0,template1зарезервированы. Создать БД с этими именами нельзя. -
deletionProtection— защита БД от удаления:trueилиfalse.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом DatabaseService.Create и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/database_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "database_spec": { "name": "<имя_БД>", "deletion_protection": "<защитить_БД_от_удаления>" } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.spqr.v1.DatabaseService.CreateГде
database_spec— параметры новой БД:-
name— имя БД.Имя БД может содержать латинские буквы, цифры, подчеркивание и дефис. Максимальная длина имени 63 символа. Имена
postgres,template0,template1зарезервированы. Создать БД с этими именами нельзя. -
deletion_protection— защита БД от удаления:trueилиfalse.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Удалить базу данных
Чтобы удалить базу данных:
- Перейдите в сервис Yandex Managed Service for Sharded PostgreSQL.
- Нажмите на имя нужного кластера и выберите вкладку Базы данных.
- Нажмите на значок
в строке нужной БД, выберите пункт Удалить и подтвердите удаление.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Database.Delete и выполните запрос, например с помощью cURL
:curl \ --request DELETE \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-spqr/v1/clusters/<идентификатор_кластера>/databases/<имя_БД>' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом DatabaseService.Delete и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/spqr/v1/database_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "database_name": "<имя_БД>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.spqr.v1.DatabaseService.Delete -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.