Quickstart: Use the az postgres up command to create an Azure Database for PostgreSQL - Single Server
APPLIES TO: Azure Database for PostgreSQL - Single Server
Important
Azure Database for PostgreSQL - Single Server is on the retirement path. We strongly recommend that you upgrade to Azure Database for PostgreSQL - Flexible Server. For more information about migrating to Azure Database for PostgreSQL - Flexible Server, see What's happening to Azure Database for PostgreSQL Single Server?.
Azure Database for PostgreSQL is a managed service that enables you to run, manage, and scale highly available PostgreSQL databases in the cloud. The Azure CLI is used to create and manage Azure resources from the command line or in scripts. This quickstart shows you how to use the az postgres up command to create an Azure Database for PostgreSQL server using the Azure CLI. In addition to creating the server, the az postgres up
command creates a sample database, a root user in the database, opens the firewall for Azure services, and creates default firewall rules for the client computer. These defaults help to expedite the development process.
If you don't have an Azure subscription, create an Azure free account before you begin.
Create an Azure Database for PostgreSQL server
Prerequisites
Use the Bash environment in Azure Cloud Shell. For more information, see Quickstart for Bash in Azure Cloud Shell.
If you prefer to run CLI reference commands locally, install the Azure CLI. If you're running on Windows or macOS, consider running Azure CLI in a Docker container. For more information, see How to run the Azure CLI in a Docker container.
If you're using a local installation, sign in to the Azure CLI by using the az login command. To finish the authentication process, follow the steps displayed in your terminal. For other sign-in options, see Sign in with the Azure CLI.
When you're prompted, install the Azure CLI extension on first use. For more information about extensions, see Use extensions with the Azure CLI.
Run az version to find the version and dependent libraries that are installed. To upgrade to the latest version, run az upgrade.
Launch Azure Cloud Shell
The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. It has common Azure tools preinstalled and configured to use with your account.
To open the Cloud Shell, just select Try it from the upper right corner of a code block. You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com.
When Cloud Shell opens, verify that Bash is selected for your environment. Subsequent sessions will use Azure CLI in a Bash environment, Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press Enter to run it.
Sign in to Azure
Cloud Shell is automatically authenticated under the initial account signed-in with. Use the following script to sign in using a different subscription, replacing <Subscription ID>
with your Azure Subscription ID. If you don't have an Azure subscription, create an Azure free account before you begin.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
For more information, see set active subscription or log in interactively
Install the db-up extension. If an error is returned, ensure you have installed the latest version of the Azure CLI. See Install Azure CLI.
az extension add --name db-up
Create an Azure Database for PostgreSQL server using the following command:
az postgres up
The server is created with the following default values (unless you manually override them):
Setting | Default value | Description |
---|---|---|
server-name | System generated | A unique name that identifies your Azure Database for PostgreSQL server. |
resource-group | System generated | A new Azure resource group. |
sku-name | GP_Gen5_2 | The name of the sku. Follows the convention {pricing tier}_{compute generation}_{vCores} in shorthand. The default is a General Purpose Gen5 server with 2 vCores. See our pricing page for more information about the tiers. |
backup-retention | 7 | How long a backup is retained. Unit is days. |
geo-redundant-backup | Disabled | Whether geo-redundant backups should be enabled for this server or not. |
location | westus2 | The Azure location for the server. |
ssl-enforcement | Disabled | Whether TLS/SSL should be enabled or not for this server. |
storage-size | 5120 | The storage capacity of the server (unit is megabytes). |
version | 10 | The PostgreSQL major version. |
admin-user | System generated | The username for the administrator. |
admin-password | System generated | The password of the administrator user. |
Note
For more information about the az postgres up
command and its additional parameters, see the Azure CLI documentation.
Once your server is created, it comes with the following settings:
- A firewall rule called "devbox" is created. The Azure CLI attempts to detect the IP address of the machine the
az postgres up
command is run from and allows that IP address. - "Allow access to Azure services" is set to ON. This setting configures the server's firewall to accept connections from all Azure resources, including resources not in your subscription.
- An empty database named "sampledb" is created
- A new user named "root" with privileges to "sampledb" is created
Note
Azure Database for PostgreSQL communicates over port 5432. When connecting from within a corporate network, outbound traffic over port 5432 may not be allowed by your network's firewall. Have your IT department open port 5432 to connect to your server.
Get the connection information
After the az postgres up
command is completed, a list of connection strings for popular programming languages is returned to you. These connection strings are pre-configured with the specific attributes of your newly created Azure Database for PostgreSQL server.
You can use the az postgres show-connection-string command to list these connection strings again.
Clean up resources
Clean up all resources you created in the quickstart using the following command. This command deletes the Azure Database for PostgreSQL server and the resource group.
az postgres down --delete-group
If you would just like to delete the newly created server, you can run az postgres down command.
az postgres down