Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
База данных Azure для PostgreSQL — это управляемая служба, которую можно использовать для запуска, управления и масштабирования высокодоступных баз данных PostgreSQL в облаке.
В этом кратком руководстве показано, как создать гибкий экземпляр сервера Базы данных Azure для PostgreSQL с помощью портала Azure, Azure CLI или шаблонов Azure Resource Manager (ARM).
Предпосылки
Перед началом работы убедитесь, что у вас есть следующие ресурсы:
- Подписка Azure. Если у вас нет учетной записи Azure, создайте бесплатную учетную запись Azure.
- Соответствующие разрешения для создания ресурсов в подписке.
Поймите, что вы создаете
Гибкий экземпляр сервера Базы данных Azure для PostgreSQL включает:
- Настроенный набор вычислительных ресурсов и ресурсов хранилища.
- Развертывание в группе ресурсов Azure.
- База данных, созданная
postgresпо умолчанию. -
azure_maintenanceБаза данных для управляемых сервисных процессов. - База данных
azure_sysдля настройки функций хранилища запросов и индексов.
Замечание
Подключения обычно используют порт 5432 или порт 6432 при подключении через встроенный пул подключений PgBouncer .
Создание сервера с помощью портала Azure
Перейдите к мастеру создания
- Войдите на портал Azure.
- Выберите "Создать ресурс" в левом верхнем углу.
- В разделе Категории выберите Базы данных.
- Найдите и выберите гибкий сервер Базы данных Azure для PostgreSQL.
- Нажмите кнопку "Создать".
Настройка основных параметров
Сведения о проекте
| Setting | Рекомендуемое значение | Примечания. |
|---|---|---|
| Subscription | Ваша подписка | Выбор места выставления счетов за ресурс |
| Группа ресурсов | myresourcegroup | Создайте новый или выберите существующий |
Сведения о сервере
| Setting | Рекомендуемое значение | Description |
|---|---|---|
| Имя сервера | mydemoserver-pgsql | Оно должно быть глобально уникальным. Домен .postgres.database.azure.com добавляется автоматически |
| Регион | Ближайший к вам регион | Рассмотрите возможность соответствия требованиям, расположения данных, ценообразования и близости к пользователям |
| Версия PostgreSQL | Последняя версия доступна | В настоящее время поддерживается: 18, 17, 16, 15, 14, 13, 12, 11 |
| Тип рабочей нагрузки | Развитие | Разработка использует разрядные SKUs. В рабочей среде используется общая цель или оптимизированная память. |
| Зона доступности | Нет предпочтений | Полезно для размещения вместе с вашим приложением |
Высокая доступность
| Вариант | SLA | Description |
|---|---|---|
| Disabled | 99,9 % | Один сервер без резервного |
| Та же зона | 99.95% | Резервный режим в той же зоне доступности |
| Избыточное между зонами | 99,99 % | Резервный режим в другой зоне доступности |
Authentication
| Setting | Description | Recommended |
|---|---|---|
| метод проверки подлинности | Проверка подлинности пользователей |
-
Аутентификация PostgreSQL только для быстрого запуска - Аутентификация Microsoft Entra (для продакшна) - Оба (для гибкости) |
| Имя администратора | adminuser | — должно быть 1–63 символами — только цифры и буквы - Не удается начать с pg_Нельзя использовать зарезервированные системные имена. |
| Пароль | Сложный пароль | 8-128 символов с верхним регистром, строчным регистром, цифрами и специальными символами |
Настройка вычислительных ресурсов и хранилища
Выберите "Настроить сервер", чтобы настроить :
Уровень вычислений
| Тир | Сценарий использования | Description |
|---|---|---|
| С увеличивающейся производительностью | Развитие | Для рабочих нагрузок, которые не требуют непрерывного полного ЦП |
| Категория общего назначения | Производство | Наиболее распространенные рабочие нагрузки в производственной среде |
| Оптимизировано для обработки в памяти | Рабочие нагрузки с высокой памятью | Рабочие нагрузки, требующие высокого соотношения памяти к ЦП |
Параметры хранилища
| Setting | Может измениться позже | Description |
|---|---|---|
| Тип хранилища | ❌ Нет | SSD категории "Премиум" или SSD уровня "Премиум" версии 2 |
| Размер хранилища | ✅ Да (только увеличение) | Невозможно сжать после создания |
| Уровень производительности | ✅ Да | Управляет операциями ввода-вывода в секунду (IOPS) и пропускной способностью |
| Автоматическое увеличение хранилища | ✅ Да | Автоматическое увеличение при приближении к ограничениям |
Параметры резервного копирования
| Setting | Может измениться позже | Description |
|---|---|---|
| Хранение резервных копий | ✅ Да | 7-35 дней |
| Избыточность резервного копирования | ❌ Нет | Локально избыточный, зонально избыточный или географически избыточный |
| Геоизбыточность | ❌ Нет | Доступно только в парных регионах Azure |
Настройка сетевых подключений
Выберите метод подключения (невозможно изменить после создания):
Открытый доступ (разрешенные IP-адреса)
Подключитесь через общедоступную конечную точку с помощью правил брандмауэра.
Параметры:
| Setting | Description |
|---|---|
| Разрешить общедоступный доступ | Включение общедоступного доступа для настройки правил брандмауэра |
| Разрешить службы Azure | Разрешение подключений со всех служб Azure |
| Добавление текущего IP-адреса клиента | Добавьте свой IP-адрес в разрешённый список |
Частный доступ (интеграция с виртуальной сетью)
Подключитесь через частную конечную точку в виртуальной сети. Дополнительные сведения см. в статье "Сеть с частным доступом для Базы данных Azure для PostgreSQL".
Настройка безопасности
| Setting | Может измениться позже | Options |
|---|---|---|
| Ключ шифрования данных | ❌ Нет | Управляемые сервисом или управляемые клиентом |
Добавление тегов ресурсов (необязательно)
Упорядочение ресурсов с помощью пар "имя-значение":
| Имя | Ценность | Цель |
|---|---|---|
| Окружающая среда | Развитие | Определение типа среды |
| CostCenter | IT-Dept | Отслеживание затрат по отделу |
| Владелец | admin@contoso.com | Определение ответственной стороны |
Проверка и создание
- Выберите Review + create.
- Просмотрите все конфигурации.
- Выберите "Создать " для развертывания.
Развертывание обычно занимает 5–10 минут. По завершении выберите "Перейти к ресурсу" , чтобы получить доступ к серверу.
Создание сервера с помощью Azure CLI
Предварительные требования для интерфейса командной строки
Для выполнения этого скрипта используйте Azure CLI в локальной среде, так как его выполнение в Cloud Shell займет слишком много времени.
Вход в Azure
Используйте указанный ниже скрипт для входа с использованием определенной подписки.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
Дополнительные сведения см. в разделах Настройка активной подписки и Интерактивный вход.
Если вы используете Azure Cloud Shell, вы уже вошли в систему.
Создание сервера с помощью ИНТЕРФЕЙСА командной строки
Создайте сервер с одной командой:
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--public-access 0.0.0.0 \
--storage-size 128 \
--tags "Environment=Development"
Справочник по параметрам CLI
| Параметр | Description | Example |
|---|---|---|
--resource-group |
Имя группы ресурсов | myresourcegroup |
--name |
Глобально уникальное имя сервера | mydemoserver-pgsql |
--location |
Azure region | Истус |
--admin-user |
Имя администратора | myadmin |
--admin-password |
Пароль администратора | YourPassword123! |
--sku-name |
SKU для вычислений | Standard_D4ds_v5 |
--tier |
Уровень вычислений | Увеличение нагрузки, Общего назначения, Оптимизированные для памяти |
--storage-size |
Объем хранения в ГБ | 128 |
--public-access |
Разрешенные IP-адреса | 0.0.0.0 (все службы Azure), IP-адрес или диапазон IP-адресов |
--version |
Версия PostgreSQL | 16 |
--high-availability |
Режим высокой доступности | Отключено, SameZone, ZoneRedundant |
--backup-retention |
Дни хранения резервных копий | 7-35 |
Пример расширенного интерфейса командной строки
Создайте сервер высокой доступности с избыточностью на уровне зон.
az postgres flexible-server create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql-ha \
--location eastus \
--admin-user myadmin \
--admin-password <password> \
--sku-name Standard_D4ds_v5 \
--tier GeneralPurpose \
--storage-size 256 \
--storage-type PremiumV2_LRS \
--high-availability ZoneRedundant \
--zone 1 \
--standby-zone 2 \
--backup-retention 14 \
--public-access 0.0.0.0
Создание сервера с помощью шаблона ARM
Общие сведения о шаблоне ARM
Шаблоны Azure Resource Manager (ARM) позволяют определять инфраструктуру как код. Используйте шаблоны для повторяющихся развертываний.
Минимальный шаблон ARM
Сохраните этот файл следующим образом postgres-server-template.json:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serverName": {
"type": "string",
"metadata": {
"description": "Server name must be globally unique"
}
},
"administratorLogin": {
"type": "string",
"minLength": 1,
"maxLength": 63,
"metadata": {
"description": "Administrator username"
}
},
"administratorLoginPassword": {
"type": "securestring",
"minLength": 8,
"metadata": {
"description": "Administrator password"
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Server location"
}
}
},
"resources": [
{
"type": "Microsoft.DBforPostgreSQL/flexibleServers",
"apiVersion": "2024-08-01",
"name": "[parameters('serverName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_D4ds_v5",
"tier": "GeneralPurpose"
},
"properties": {
"administratorLogin": "[parameters('administratorLogin')]",
"administratorLoginPassword": "[parameters('administratorLoginPassword')]",
"version": "16",
"storage": {
"storageSizeGB": 128,
"type": "Premium_LRS",
"autoGrow": "Enabled"
},
"backup": {
"backupRetentionDays": 7,
"geoRedundantBackup": "Disabled"
},
"network": {
"publicNetworkAccess": "Enabled"
},
"highAvailability": {
"mode": "Disabled"
}
}
}
],
"outputs": {
"serverFQDN": {
"type": "string",
"value": "[reference(parameters('serverName')).fullyQualifiedDomainName]"
}
}
}
Развертывание шаблона ARM
az group create --name myresourcegroup --location eastus
az deployment group create \
--resource-group myresourcegroup \
--template-file postgres-server-template.json \
--parameters \
serverName=mydemoserver-pgsql \
administratorLogin=myadmin \
administratorLoginPassword=<password>
Получение сведений о подключении
После создания сервера получите сведения о подключении:
Использование портала Azure
- Перейдите на сервер на портале Azure.
- Откройте страницу обзора .
- Скопируйте следующие значения:
-
Имя сервера (конечная точка):
mydemoserver-pgsql.postgres.database.azure.com -
Имя входа администратора:
myadmin
-
Имя сервера (конечная точка):
Использование Azure CLI
az postgres flexible-server show \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--query "{serverName:fullyQualifiedDomainName, adminUser:administratorLogin}" \
--output table
Подключение с помощью psql
Установка psql
Если у вас нет клиентских средств PostgreSQL, скачайте PostgreSQL для своей платформы.
Подключение к серверу
psql "host=mydemoserver-pgsql.postgres.database.azure.com port=5432 dbname=postgres user=myadmin sslmode=require"
При появлении запроса введите пароль администратора, заданный во время создания сервера.
Формат строки подключения
host=<server-name>.postgres.database.azure.com port=5432 dbname=<database-name> user=<admin-user> password=<password> sslmode=require
Проверка подключения
После подключения вы увидите следующее:
psql (14.13, server 16.4)
WARNING: psql major version 14, server major version 16.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=>
Создание базы данных
CREATE DATABASE user_database;
\c user_database
\q
Устранение неполадок с подключением
Брандмауэр блокирует подключение
Если вы видите:
connection to server at "mydemoserver-pgsql.postgres.database.azure.com" (###.###.###.###), port 5432 failed: Connection timed out
Решение. Добавьте IP-адрес в правила брандмауэра:
az postgres flexible-server firewall-rule create \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--rule-name AllowMyIP \
--start-ip-address <your-ip> \
--end-ip-address <your-ip>
Протокол SSL, необходимый, но не настроенный
Убедитесь, что строка подключения включает sslmode=require.
Очистите ресурсы
После завершения краткого руководства удалите ресурсы во избежание расходов.
Удаление всей группы ресурсов
az group delete --name myresourcegroup --yes
Удаление только сервера
az postgres flexible-server delete \
--resource-group myresourcegroup \
--name mydemoserver-pgsql \
--yes