Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for PostgreSQL
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Подключение к базе данных
    • Остановка и запуск кластера
    • SQL-запросы в консоли управления
    • Изменение настроек кластера и базы данных
    • Подключение к DataLens
    • Управление хостами PostgreSQL
    • Управление базами данных
    • Управление PostgreSQL-расширениями
    • Управление пользователями БД
    • Назначение привилегий и ролей
    • Управление резервными копиями
    • Удаление кластера
    • Миграция базы данных в Yandex.Cloud
    • Создание логической реплики Аmazon RDS для PostgreSQL в Managed Service for PostgreSQL
  • Сценарии использования
    • Создание кластера PostgreSQL для 1С
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for PostgreSQL
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Назначение ролей
    • Репликация
    • Поддерживаемые клиенты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • backup
        • create
        • delete
        • deleteHosts
        • get
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • move
        • restore
        • start
        • startFailover
        • stop
        • update
        • updateHosts
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
        • update
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о PostgreSQL
    • Все вопросы на одной странице
  1. Справочник API
  2. REST
  3. User
  4. create

Метод create

  • HTTP-запрос
  • Path-параметры
  • Параметры в теле запроса
  • Ответ

Создает пользователя PostgreSQL в указанном кластере.

HTTP-запрос

POST https://mdb.api.cloud.yandex.net/managed-postgresql/v1/clusters/{clusterId}/users

Path-параметры

Параметр Описание
clusterId Обязательное поле. Идентификатор кластера PostgreSQL, в котором следует создать пользователя. Чтобы получить идентификатор кластера, используйте запрос list. Максимальная длина строки в символах — 50.

Параметры в теле запроса

{
  "userSpec": {
    "name": "string",
    "password": "string",
    "permissions": [
      {
        "databaseName": "string"
      }
    ],
    "connLimit": "integer",
    "settings": {
      "defaultTransactionIsolation": "string",
      "lockTimeout": "integer",
      "logMinDurationStatement": "integer",
      "synchronousCommit": "string",
      "tempFileLimit": "integer",
      "logStatement": "string"
    },
    "login": true,
    "grants": [
      "string"
    ]
  }
}
Поле Описание
userSpec object

Обязательное поле. Свойства создаваемого пользователя.

userSpec.
name
string

Обязательное поле. Имя пользователя PostgreSQL.

Максимальная длина строки в символах — 63. Значение должно соответствовать регулярному выражению [a-zA-Z0-9_]*.

userSpec.
password
string

Обязательное поле. Пароль пользователя PostgreSQL.

Длина строки в символах должна быть от 8 до 128.

userSpec.
permissions[]
object

Набор разрешений, предоставляемых пользователю для доступа к определенным базам данных.

userSpec.
permissions[].
databaseName
string

Имя базы данных, к которой предоставляет доступ разрешение.

userSpec.
connLimit
integer (int64)

Максимальное количество подключений к базе данных, доступное пользователю.

При использовании сессионного пулинга эта настройка ограничивает количество подключений к каждому отдельному хосту в кластере PostgreSQL. В этом случае значение настройки должно быть больше общего числа подключений, которые могут быть открыты сервисами бэкенда для доступа к кластеру PostgreSQL. Значение этой настройки не должно превышать значения настройки Cluster.config.postgresqlConfig_12.effectiveConfig.maxConnections.

При использовании транзакционного пулинга эта настройка ограничивает количество активных транзакций пользователя, поэтому в этом режиме пользователь может открывать тысячи подключений, но одновременно будет установлено только N подключений, где N — значение настройки.

Минимальное значение: 10 (по умолчанию: 50) при использовании сессионного пулинга.

Минимальное значение — 10.

userSpec.
settings
object

Настройки PostgreSQL для пользователя.

Пользовательские настройки PostgreSQL.

userSpec.
settings.
defaultTransactionIsolation
string

Для каждой транзакции в SQL устанавливается уровень изоляции. Эта настройка определяет уровень изоляции, который будет устанавливаться по умолчанию для новых транзакций SQL.

См. подробное описание в документации PostgreSQL.

  • TRANSACTION_ISOLATION_READ_UNCOMMITTED: поведение этого уровня изоляции в PostgreSQL идентично TRANSACTION_ISOLATION_READ_COMMITTED.
  • TRANSACTION_ISOLATION_READ_COMMITTED: (по умолчанию) запрос видит только те строки, которые были зафиксированы до начала его выполнения.
  • TRANSACTION_ISOLATION_REPEATABLE_READ: все запросы в текущей транзакции видят только те строки, которые были зафиксированы перед первым выполненным в этой транзакции запросом SELECT или INSERT.
  • TRANSACTION_ISOLATION_SERIALIZABLE: обеспечивает самый строгий уровень изоляции транзакций. Все запросы в текущей транзакции видят только те строки, которые были зафиксированы перед первым выполнением запроса SELECT или INSERT в этой транзакции. Если наложение операций чтения и записи параллельных сериализуемых транзакций может привести к ситуации, невозможной при последовательном их выполнении, произойдет откат одной из транзакций с ошибкой сбоя сериализации.
userSpec.
settings.
lockTimeout
integer (int64)

Максимальная длительность ожидания (в миллисекундах) любым оператором получения блокировки таблицы, индекса, строки или другого объекта базы данных. Если ожидание не закончилось за указанное время, оператор прерывается.

Значение по умолчанию: 0 (контроль длительности отключен, ожидать получения блокировки можно сколь угодно долго).

userSpec.
settings.
logMinDurationStatement
integer (int64)

Эта настройка управляет логированием длительности выполнения команд SQL.

В лог записывается продолжительность выполнения всех команд, время обработки которых равно или превышает указанное в значении настройки количество миллисекунд. Например, при значении настройки 500в лог не попадет выражение, выполнявшееся 300 миллисекунд, не будет регистрироваться, а выражение, выполнявшееся 2000 миллисекунд — попадет.

Значение 0 заставляет PostgreSQL записывать продолжительность работы всех команд.

Значение -1 (по умолчанию) отключает запись продолжительности выполнения команд.

См. подробное описание в документации PostgreSQL.

userSpec.
settings.
synchronousCommit
string

Эта настройка определяет, будет ли СУБД выполнять операцию подтверждения транзакции синхронно.

Синхронность операции означает, что кластер будет ждать выполнения синхронных операций прежде чем подтвердить транзакцию клиенту. Эти операции гарантируют различные уровни сохранности и видимости данных в кластере.

См. подробное описание в документации PostgreSQL.

  • SYNCHRONOUS_COMMIT_ON: (по умолчанию) транзакция подтверждается, если данные попали в WAL (Write-Ahead Log) и он записан на диск мастера и на диск синхронной реплики.
  • SYNCHRONOUS_COMMIT_OFF: транзакция подтверждается, даже если данные еще не попали в WAL. Синхронной записи нет, данные о транзакции могут быть потеряны в результате сбоя дисковой подсистемы.
  • SYNCHRONOUS_COMMIT_LOCAL: транзакция подтверждается, если данные попали в WAL и он записан на диск мастера. Данные о транзакции могут быть потеряны в результате сбоя дисковой подсистемы мастера.
  • SYNCHRONOUS_COMMIT_REMOTE_WRITE: транзакция подтверждается, если WAL записан на диск мастера, синхронная реплика приняла WAL и передала его операционной системе для записи на диск. В случае потери дисковой системы мастера и сбоя операционной системы на реплике данные транзакции с таким уровнем синхронизации могут быть потеряны.
  • SYNCHRONOUS_COMMIT_REMOTE_APPLY: транзакция подтверждается, если WAL записан на диск мастера, синхронная реплика приняла WAL и применила изменения из него. Данные о транзакции могут быть потеряны из-за одновременного необратимого сбоя на мастере и его синхронной реплике.
userSpec.
settings.
tempFileLimit
integer (int64)

Максимальный объем дискового пространства (в килобайтах), который один процесс сможет использовать для временных файлов. Транзакция, которая попытается превысить этот предел, будет отменена.

Большие запросы из-за их размера выполняются PostgreSQL не в оперативной памяти, а на диске. Слишком большие запросы могут нагрузить диск и помешать выполнению других запросов. Эта настройка предотвращает выполнение запросов, которые могут сильно повлиять на производительность, ограничивая размер временных файлов.

userSpec.
settings.
logStatement
string

Эта настройка определяет, какие команды SQL должны записываться в лог (на уровне пользователя).

См. подробное описание в документации PostgreSQL.

  • LOG_STATEMENT_NONE: (по умолчанию) фильтр отключен, команды SQL не записываются в лог.
  • LOG_STATEMENT_DDL: в лог записываются команды SQL, которые позволяют изменять определения данных (такие как CREATE, ALTER, DROP и другие).
  • LOG_STATEMENT_MOD: в лог записываются команды SQL, попадающие под фильтр LOG_STATEMENT_DDL, и команды, позволяющие изменять данные (такие как INSERT, UPDATE и другие).
  • LOG_STATEMENT_ALL: в лог записываются все команды SQL.
userSpec.
login
boolean (boolean)

Этот флаг определяет, может ли пользователь войти в базу данных PostgreSQL.

Значение по умолчанию: true (вход разрешен).

userSpec.
grants[]
string

Роли и права, предоставленные пользователю (GRANT <роль> ТО  <пользователь>).

Дополнительные сведения см. в документации.

Максимальная длина строки в символах для каждого значения — 63. Каждое значение должно соответствовать регулярному выражению [a-zA-Z0-9_]*.

Ответ

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": true,
  "metadata": "object",

  //  включает только одно из полей `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object",
  // конец списка возможных полей

}

Ресурс Operation. Дополнительные сведения см. в разделе
Объект Operation.

Поле Описание
id string

Идентификатор операции.

description string

Описание операции. Длина описания должна быть от 0 до 256 символов.

createdAt string (date-time)

Время создания ресурса в формате в RFC3339.

Строка в формате RFC3339.

createdBy string

Идентификатор пользователя или сервисного аккаунта, инициировавшего операцию.

modifiedAt string (date-time)

Время, когда ресурс Operation последний раз обновлялся. Значение в формате RFC3339.

Строка в формате RFC3339.

done boolean (boolean)

Если значение равно false — операция еще выполняется. Если true — операция завершена, и задано значение одного из полей error или response.

metadata object

Метаданные операции. Обычно в поле содержится идентификатор ресурса, над которым выполняется операция. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля metadata.

error object
Описание ошибки в случае сбоя или отмены операции.
включает только одно из полей error, response

Описание ошибки в случае сбоя или отмены операции.

error.
code
integer (int32)

Код ошибки. Значение из списка google.rpc.Code.

error.
message
string

Текст ошибки.

error.
details[]
object

Список сообщений с подробными сведениями об ошибке.

response object
включает только одно из полей error, response

Результат операции в случае успешного завершения. Если исходный метод не возвращает никаких данных при успешном завершении, например метод Delete, поле содержит объект google.protobuf.Empty. Если исходный метод — это стандартный метод Create / Update, поле содержит целевой ресурс операции. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля response.

В этой статье:
  • HTTP-запрос
  • Path-параметры
  • Параметры в теле запроса
  • Ответ
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»