Краткое руководство. Создание базы данных в службе "База данных Azure для PostgreSQL — отдельный сервер" с помощью Azure CLIQuickstart: Create an Azure Database for PostgreSQL - Single Server using the Azure CLI

Совет

Рассмотрите возможность использования более простой команды Azure CLI az postgres up (сейчас в предварительной версии).Consider using the simpler az postgres up Azure CLI command (currently in preview). Ознакомьтесь с кратким руководством.Try out the quickstart.

База данных Azure для PostgreSQL является управляемой службой, которая позволяет запускать и масштабировать высокодоступные базы данных PostgreSQL, а также управлять ими в облаке.Azure Database for PostgreSQL is a managed service that enables you to run, manage, and scale highly available PostgreSQL databases in the cloud. Azure CLI используется для создания ресурсов Azure и управления ими из командной строки или с помощью скриптов.The Azure CLI is used to create and manage Azure resources from the command line or in scripts. В этом кратком руководстве описывается создание базы данных Azure для сервера PostgreSQL в группе ресурсов Azure с помощью Azure CLI.This quickstart shows you how to create an Azure Database for PostgreSQL server in an Azure resource group using the Azure CLI.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

Использование Azure Cloud ShellUse Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Для работы со службами Azure в Cloud Shell можно использовать bash и PowerShell.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Чтобы запустить Azure Cloud Shell, сделайте вот что:To launch Azure Cloud Shell:

ПараметрOption Пример и ссылкаExample/Link
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически.Selecting Try It doesn't automatically copy the code to Cloud Shell. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Запуск Cloud Shell в новом окнеLaunch Cloud Shell in a new window
На портале Azure в правом верхнем углу в строке меню нажмите кнопку Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, сделайте вот что:To run the code in this article in Azure Cloud Shell:

  1. Откройте Cloud Shell.Open Cloud Shell.
  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.Select the Copy button on a code block to copy the code.
  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши Ctrl+Shift+V в Windows и Linux или Cmd+Shift+V в macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Нажмите клавишу ВВОД, чтобы выполнить код.Press Enter to run the code.

Если вы решили установить и использовать интерфейс командной строки локально, для работы с этой статьей вам понадобится Azure CLI 2.0 или более поздней версии.If you choose to install and use the CLI locally, this article requires that you are running the Azure CLI version 2.0 or later. Чтобы узнать, какая установлена версия, выполните команду az --version.To see the version installed, run the az --version command. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.If you need to install or upgrade, see Install Azure CLI.

Если интерфейс командной строки выполняется локально, необходимо войти в учетную запись, выполнив команду az login.If you are running the CLI locally, you need to sign in to your account using the az login command. Запишите свойство ID из выходных данных команды для соответствующего имени подписки.Note the ID property from the command output for the corresponding subscription name.

az login

Если вы используете несколько подписок, выберите соответствующую, в которой за ресурс будет взиматься плата.If you have multiple subscriptions, choose the appropriate subscription in which the resource should be billed. Выберите конкретный идентификатор подписки вашей учетной записи, выполнив команду az account set.Select the specific subscription ID under your account using az account set command. Подставьте свойство ID из выходных данных az login для вашей подписки в заполнитель для идентификатора подписки.Substitute the ID property from the az login output for your subscription into the subscription ID placeholder.

az account set --subscription <subscription id>

Создание группы ресурсовCreate a resource group

Создайте группу ресурсов Azure с помощью команды az group create.Create an Azure resource group using the az group create command. Группа ресурсов — это логический контейнер, в котором ресурсы Azure развертываются и администрируются как группа.A resource group is a logical container into which Azure resources are deployed and managed as a group. Необходимо указать уникальное имя.You should provide a unique name. В следующем примере создается группа ресурсов с именем myresourcegroup в расположении westus.The following example creates a resource group named myresourcegroup in the westus location.

az group create --name myresourcegroup --location westus

Создание сервера Базы данных Azure для PostgreSQLCreate an Azure Database for PostgreSQL server

Создайте сервер базы данных Azure для PostgreSQL, выполнив команду az postgres server create.Create an Azure Database for PostgreSQL server using the az postgres server create command. Сервер может управлять несколькими базами данных.A server can contain multiple databases.

ПараметрSetting Пример значенияSample value ОписаниеDescription
namename mydemoservermydemoserver Выберите уникальное имя, идентифицирующее базу данных Azure для сервера PostgreSQL.Choose a unique name that identifies your Azure Database for PostgreSQL server. Имя сервера может содержать только строчные буквы, цифры и знак дефиса (-).The server name can contain only lowercase letters, numbers, and the hyphen (-) character. Его длина должна составлять от 3 до 63 символов.It must contain from 3 to 63 characters.
resource-groupresource-group myresourcegroupmyresourcegroup Укажите имя группы ресурсов Azure.Provide the name of the Azure resource group.
sku-namesku-name GP_Gen5_2GP_Gen5_2 Имя номера SKU.The name of the sku. В сокращенной записи соответствует схеме {ценовая категория}_{поколение вычислительных ресурсов}_{число виртуальных ядер}.Follows the convention {pricing tier}_{compute generation}_{vCores} in shorthand. Под этой таблицей приведены дополнительные сведения о параметре sku-name.See below this table for more information about the sku-name parameter.
backup-retentionbackup-retention 77 Срок хранения резервной копии.How long a backup should be retained. Указывается в днях.Unit is days. Можно указать от 7 до 35 дней.Range is 7-35.
geo-redundant-backupgeo-redundant-backup ОтключеноDisabled Позволяет включить или отключить создание геоизбыточных резервных копий для этого сервера.Whether geo-redundant backups should be enabled for this server or not. Допустимые значения: Enabled, Disabled.Allowed values: Enabled, Disabled.
locationlocation westuswestus Расположение сервера в Azure.The Azure location for the server.
ssl-enforcementssl-enforcement ВключеноEnabled Позволяет включить или отключить SSL для этого сервера.Whether ssl should be enabled or not for this server. Допустимые значения: Enabled, Disabled.Allowed values: Enabled, Disabled.
storage-sizestorage-size 51 20051200 Объем хранилища сервера (в мегабайтах).The storage capacity of the server (unit is megabytes). Допустимое минимальное значение storage-size составляет 5120 МБ и может быть увеличено с шагом в 1024 МБ.Valid storage-size is minimum 5120MB and increases in 1024MB increments. Ознакомьтесь с документом о ценовых категориях, чтобы узнать больше об ограничениях размера хранилища.See the pricing tiers document for more information about storage size limits.
версияversion 9,69.6 Основной номер версии PostgreSQL.The PostgreSQL major version.
admin-useradmin-user myadminmyadmin Имя для входа администратора.The username for the administrator login. Не может иметь значение azure_superuser, admin, administrator, root, guest или public.It cannot be azure_superuser, admin, administrator, root, guest, or public.
admin-passwordadmin-password Надежный парольsecure password Пароль администратора.The password of the administrator user. Пароль должен содержать от 8 до 128 символов.It must contain between 8 and 128 characters. Пароль должен содержать символы из таких трех категорий: прописные латинские буквы, строчные латинские буквы, цифры и небуквенно-цифровые знаки.Your password must contain characters from three of the following categories: English uppercase letters, English lowercase letters, numbers, and non-alphanumeric characters.

Значение параметра sku-name соответствует соглашению {ценовая категория}_{поколение вычислительных ресурсов}_{количество виртуальных ядер}, как показано в примерах ниже:The sku-name parameter value follows the convention {pricing tier}_{compute generation}_{vCores} as in the examples below:

  • --sku-name B_Gen5_1 — "Базовый", поколение 5, 1 виртуальное ядро;--sku-name B_Gen5_1 maps to Basic, Gen 5, and 1 vCore. Это номер SKU наименьший по размеру из доступных.This option is the smallest SKU available.
  • --sku-name GP_Gen5_32 — "Общего назначения", поколение 5, 32 виртуальных ядра;--sku-name GP_Gen5_32 maps to General Purpose, Gen 5, and 32 vCores.
  • --sku-name MO_Gen5_2 — "Оптимизированная для операций в памяти", поколение 5, 2 виртуальных ядра.--sku-name MO_Gen5_2 maps to Memory Optimized, Gen 5, and 2 vCores.

Допустимые значения для каждого региона и каждого уровня указаны в документации по ценовым категориям.Please see the pricing tiers documentation to understand the valid values per region and per tier.

В примере ниже показано создание сервера PostgreSQL 9.6 с именем mydemoserver в группе ресурсов myresourcegroup с именем пользователя администратора сервера myadmin.The following example creates a PostgreSQL 9.6 server in West US named mydemoserver in your resource group myresourcegroup with server admin login myadmin. Это сервер 4-го поколения общего назначения с 2 виртуальными ядрами.This is a Gen 4 General Purpose server with 2 vCores. Замените <server_admin_password> собственным значением.Substitute the <server_admin_password> with your own value.

az postgres server create --resource-group myresourcegroup --name mydemoserver  --location westus --admin-user myadmin --admin-password <server_admin_password> --sku-name GP_Gen4_2 --version 9.6

Примечание

Используйте ценовую категорию "Базовый", если для вашей рабочей нагрузки не требуется большое количество вычислительных ресурсов и операций ввода-вывода.Consider using the Basic pricing tier if light compute and I/O are adequate for your workload. Обратите внимание, что серверы, созданные в ценовой категории "Базовый", нельзя масштабировать до ценовых категорий "Общего назначения" или "Оптимизировано для памяти".Note that servers created in the Basic pricing tier cannot later be scaled to General Purpose or Memory Optimized. Дополнительные сведения см. на странице с ценами.See the pricing page for more information.

Настройка правила брандмауэра на уровне сервераConfigure a server-level firewall rule

Создайте правило брандмауэра на уровне сервера Azure PostgreSQL, выполнив команду az postgres server firewall-rule create.Create an Azure PostgreSQL server-level firewall rule with the az postgres server firewall-rule create command. Правило брандмауэра на уровне сервера позволяет внешним приложениям, таким как psql или PgAdmin, подключаться к серверу через брандмауэр службы Azure PostgreSQL.A server-level firewall rule allows an external application, such as psql or PgAdmin to connect to your server through the Azure PostgreSQL service firewall.

Вы можете задать правило брандмауэра, охватывающее диапазон IP-адресов, чтобы иметь возможность подключаться из сети.You can set a firewall rule that covers an IP range to be able to connect from your network. В указанном ниже примере, чтобы создать правило брандмауэра AllowMyIP для одного IP-адреса, используется команда az postgres server firewall-rule create.The following example uses az postgres server firewall-rule create to create a firewall rule AllowMyIP for a single IP address.

az postgres server firewall-rule create --resource-group myresourcegroup --server mydemoserver --name AllowMyIP --start-ip-address 192.168.0.1 --end-ip-address 192.168.0.1

Примечание

Сервер PostgreSQL Azure обменивается данными через порт 5432.Azure PostgreSQL server communicates over port 5432. При попытках подключения из корпоративной сети может оказаться, что исходящий трафик через порт 5432 запрещен сетевым брандмауэром.When connecting from within a corporate network, outbound traffic over port 5432 may not be allowed by your network's firewall. Чтобы вы могли подключиться к серверу PostgreSQL Azure, ваш ИТ-отдел должен открыть порт 5432.Have your IT department open port 5432 to connect to your Azure PostgreSQL server.

Получение сведений о подключенииGet the connection information

Чтобы подключиться к серверу, необходимо указать сведения об узле и учетные данные для доступа.To connect to your server, you need to provide host information and access credentials.

az postgres server show --resource-group myresourcegroup --name mydemoserver

Результаты выводятся в формате JSON.The result is in JSON format. Запишите administratorLogin и fullyQualifiedDomainName.Make a note of the administratorLogin and fullyQualifiedDomainName.

{
  "administratorLogin": "myadmin",
  "earliestRestoreDate": null,
  "fullyQualifiedDomainName": "mydemoserver.postgres.database.azure.com",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myresourcegroup/providers/Microsoft.DBforPostgreSQL/servers/mydemoserver",
  "location": "westus",
  "name": "mydemoserver",
  "resourceGroup": "myresourcegroup",
  "sku": {
    "capacity": 2,
    "family": "Gen5",
    "name": "GP_Gen5_2",
    "size": null,
    "tier": "GeneralPurpose"
  },
  "sslEnforcement": "Enabled",
  "storageProfile": {
    "backupRetentionDays": 7,
    "geoRedundantBackup": "Disabled",
    "storageMb": 5120
  },
  "tags": null,
  "type": "Microsoft.DBforPostgreSQL/servers",
  "userVisibleState": "Ready",
  "version": "9.6"
}

Подключение к базе данных PostgreSQL с помощью psqlConnect to PostgreSQL database using psql

Если на клиентском компьютере установлено PostgreSQL, вы можете использовать локальный экземпляр psql, чтобы подключиться к серверу Azure PostgreSQL.If your client computer has PostgreSQL installed, you can use a local instance of psql to connect to an Azure PostgreSQL server. Теперь подключимся к серверу Azure PostgreSQL с помощью служебной программы командной строки psql.Let's now use the psql command-line utility to connect to the Azure PostgreSQL server.

  1. Чтобы подключиться к серверу базы данных Azure для PostgreSQL, выполните следующую команду psql:Run the following psql command to connect to an Azure Database for PostgreSQL server

    psql --host=<servername> --port=<port> --username=<user@servername> --dbname=<dbname>
    

    Например, следующая команда устанавливает подключение к базе данных по умолчанию postgres на сервере PostgreSQL mydemoserver.postgres.database.azure.com, используя учетные данные для доступа.For example, the following command connects to the default database called postgres on your PostgreSQL server mydemoserver.postgres.database.azure.com using access credentials. Введите <server_admin_password>, указанный при появлении запроса на ввод пароля.Enter the <server_admin_password> you chose when prompted for password.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=myadmin@mydemoserver --dbname=postgres
    

    Совет

    Если вы предпочитаете использовать URL-путь для подключения к Postgres, закодируйте с помощью URL-адреса знак @ в имени пользователя с использованием %40.If you prefer to use a URL path to connect to Postgres, URL encode the @ sign in the username with %40. Например, строка подключения для psql будет выглядеть так:For example the connection string for psql would be,

    psql postgresql://myadmin%40mydemoserver@mydemoserver.postgres.database.azure.com:5432/postgres
    
  2. Подключившись к серверу, создайте пустую базу данных с помощью командной строки.Once you are connected to the server, create a blank database at the prompt.

    CREATE DATABASE mypgsqldb;
    
  3. Чтобы подключиться к созданной базе данных mypgsqldb, выполните следующую команду в командной строке:At the prompt, execute the following command to switch connection to the newly created database mypgsqldb:

    \c mypgsqldb
    

Подключение к серверу PostgreSQL с помощью pgAdminConnect to the PostgreSQL Server using pgAdmin

pgAdmin — это средство с открытым кодом, которое используется с PostgreSQL.pgAdmin is an open-source tool used with PostgreSQL. Средство PgAdmin можно установить с веб-сайта pgAdmin.You can install pgAdmin from the pgAdmin website. Ваша версия pgAdmin может отличаться от используемой в этом кратком руководстве.The pgAdmin version you're using may be different from what is used in this Quickstart. Если вам требуются дополнительные инструкции, ознакомьтесь с документацией по pgAdmin.Read the pgAdmin documentation if you need additional guidance.

  1. Откройте приложение pgAdmin на клиентском компьютере.Open the pgAdmin application on your client computer.

  2. На панели инструментов выберите Object (Объект), наведите указатель мыши на пункт Create (Создать) и выберите Server (Сервер).From the toolbar go to Object, hover over Create, and select Server.

  3. На вкладке General (Общее) в диалоговом окне Create — Server (Создание сервера) введите уникальное понятное имя сервера, например mydemoserver.In the Create - Server dialog box, on the General tab, enter a unique friendly name for the server, such as mydemoserver.

    Вкладка "Общие"

  4. На вкладке Connection (Подключение) в диалоговом окне Create — Server (Создание сервера) заполните таблицу настроек.In the Create - Server dialog box, on the Connection tab, fill in the settings table.

    Вкладка "Подключение"

    параметр pgAdminpgAdmin parameter ЗначениеValue ОПИСАНИЕDescription
    Имя узла и адресHost name/address Имя сервераServer name Значение имени сервера, которое вы использовали раньше при создании базы данных Azure для сервера PostgreSQL.The server name value that you used when you created the Azure Database for PostgreSQL server earlier. В нашем примере используется имя сервера mydemoserver.postgres.database.azure.com.Our example server is mydemoserver.postgres.database.azure.com. Используйте полное доменное имя ( *.postgres.database.azure.com), как показано в примере.Use the fully qualified domain name (*.postgres.database.azure.com) as shown in the example. Если вы не помните имя своего сервера, выполните действия из предыдущего раздела, чтобы получить сведения о подключении.If you don't remember your server name, follow the steps in the previous section to get the connection information.
    ПортPort 54325432 Порт, используемый при подключении к базе данных Azure для сервера PostgreSQL.The port to use when you connect to the Azure Database for PostgreSQL server.
    База данных обслуживанияMaintenance database postgrespostgres Имя базы данных по умолчанию, созданное системой.The default system-generated database name.
    Имя пользователяUsername Имя для входа администратора сервераServer admin login name Имя для входа администратора сервера, которое вы использовали раньше при создании базы данных Azure для сервера PostgreSQL.The server admin login username that you supplied when you created the Azure Database for PostgreSQL server earlier. Если вы не помните имя пользователя, выполните действия из предыдущего раздела, чтобы получить сведения о подключении.If you don't remember the username, follow the steps in the previous section to get the connection information. Формат имя пользователя@имя сервера.The format is username@servername.
    ПарольPassword Ваш пароль администратораYour admin password Пароль, выбранный при создании сервера во время работы с этим руководством.The password you chose when you created the server earlier in this Quickstart.
    РольRole Не указывайтеLeave blank Указывать роль на этом шаге не нужно.There's no need to provide a role name at this point. Оставьте поле пустым.Leave the field blank.
    Режим SSLSSL mode Require (Требовать)Require На вкладке pgAdmin SSL можно настроить режим SSL. По умолчанию все серверы службы "База данных Azure для PostgreSQL" создаются с включенным применением SSL.You can set the SSL mode in pgAdmin's SSL tab. By default, all Azure Database for PostgreSQL servers are created with SSL enforcing turned on. Чтобы отключить применение SSL, см. сведения о включении SSL.To turn off SSL enforcing, see SSL Enforcing.
  5. Щелкните Сохранить.Select Save.

  6. В области Браузер слева разверните узел Серверы.In the Browser pane on the left, expand the Servers node. Выберите свой сервер, например mydemoserver.Select your server, for example, mydemoserver. Щелкните, чтобы подключиться к нему.Click to connect to it.

  7. Разверните узел сервера, а затем разверните раздел Базы данных под ним.Expand the server node, and then expand Databases under it. Список должен включать существующую базу данных postgres и еще одну базу данных, созданную вами.The list should include your existing postgres database and any other databases you've created. С помощью службы "База данных Azure для PostgreSQL" для сервера можно создать несколько баз данных.You can create multiple databases per server with Azure Database for PostgreSQL.

  8. Щелкните правой кнопкой мыши Базы данных, выберите меню Создать, а затем щелкните База данных.Right-click Databases, choose the Create menu, and then select Database.

  9. Введите выбранное имя базы данных в поле База данных, например mypgsqldb2.Type a database name of your choice in the Database field, such as mypgsqldb2.

  10. Выберите владельца базы данных из списка.Select the Owner for the database from the list box. Выберите имя администратора сервера для входа (например, my admin).Choose your server admin login name, such as the example, my admin.

    Создание базы данных в pgadmin

  11. выберите Сохранить, чтобы создать пустую базу данных.Select Save to create a new blank database.

  12. Созданная база данных отобразится в области Browser (Обозреватель) в списке баз данных под именем сервера.In the Browser pane, you can see the database that you created in the list of databases under your server name.

Очистка ресурсовClean up resources

Очистите все ресурсы, созданные при работе с кратким руководством, удалив группу ресурсов Azure.Clean up all resources you created in the quickstart by deleting the Azure resource group.

Совет

Другие краткие руководства в этой коллекции созданы на основе этого документа.Other quickstarts in this collection build upon this quickstart. Если вы планируете продолжать работу с этими краткими руководствами, не удаляйте созданные ресурсы.If you plan to continue to work with subsequent quickstarts, do not clean up the resources created in this quickstart. Если вы не планируете продолжать работу, удалите все созданные с помощью Azure CLI ресурсы, выполнив следующие действия.If you do not plan to continue, use the following steps to delete all resources created by this quickstart in the Azure CLI.

az group delete --name myresourcegroup

Если вы хотите удалить созданный сервер, выполните команду az postgres server delete.If you would just like to delete the one newly created server, you can run az postgres server delete command.

az postgres server delete --resource-group myresourcegroup --name mydemoserver

Дополнительная информацияNext steps