Inicio rápido: Creación de una instancia de Azure Database for PostgreSQL: servidor único mediante PowerShell
Se aplica a: Azure Database for PostgreSQL: servidor único
Importante
El servicio de servidor único de Azure Database for PostgreSQL está en proceso de retirada. Es muy recomendable actualizar al servidor flexible de Azure Database for PostgreSQL: servidor flexible. Para más información sobre la migración al servidor flexible de Azure Database for PostgreSQL, consulte ¿Qué sucederá con el servicio de servidor único de Azure Database for PostgreSQL?
En este inicio rápido se describe cómo usar PowerShell para crear un servidor de Azure Database for PostgreSQL en un grupo de recursos de Azure. Puede usar PowerShell para crear y administrar recursos de Azure de forma interactiva o en scripts.
Requisitos previos
Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
Si decide usar PowerShell de forma local, para este artículo es preciso que instale el módulo Az PowerShell y que se conecte a su cuenta de Azure con el cmdlet Connect-AzAccount. Para más información sobre cómo instalar el módulo Az PowerShell, consulte Instalación de Azure PowerShell.
Importante
Mientras el módulo Az.PostgreSql PowerShell se encuentre en versión preliminar, debe instalarlo por separado del módulo Az PowerShell mediante el siguiente comando: Install-Module -Name Az.PostgreSql -AllowPrerelease
.
Una vez que el módulo Az.PostgreSql PowerShell esté disponible con carácter general, formará parte de las futuras versiones del módulo Az PowerShell y estará disponible de forma nativa en Azure Cloud Shell.
Si esta es la primera vez que usa el servicio Azure Database for PostgreSQL, debe registrar el proveedor de recursos Microsoft.DBforPostgreSQL.
Register-AzResourceProvider -ProviderNamespace Microsoft.DBforPostgreSQL
Azure Cloud Shell
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
Opción | Ejemplo o vínculo |
---|---|
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. | |
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. | |
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. |
Para usar Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.
Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Enter para ejecutar el código o comando.
Si tiene varias suscripciones a Azure, elija la suscripción adecuada en la que se debe facturar el recurso. Seleccione un identificador de suscripción específico con el cmdlet Set-AzContext.
Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000
Crear un grupo de recursos
Cree un grupo de recursos de Azure con el cmdlet New-AzResourceGroup. Un grupo de recursos es un contenedor lógico en el que se implementan y se administran recursos de Azure como un grupo.
En el ejemplo siguiente, se crea un grupo de recursos denominado myResourceGroup en la región Oeste de EE. UU.
New-AzResourceGroup -Name myresourcegroup -Location westus
Creación de un servidor de Azure Database for PostgreSQL
Cree un servidor Azure Database for PostgreSQL con el cmdlet New-AzPostgreSqlServer
. Un servidor puede administrar varias bases de datos. Normalmente se usa una base de datos independiente para cada proyecto o para cada usuario.
La tabla siguiente contiene una lista de parámetros y valores de ejemplo usados comúnmente para el cmdlet New-AzPostgreSqlServer
.
Configuración | Valor de ejemplo | Descripción |
---|---|---|
Nombre | mydemoserver | Elija un nombre único que identifique al servidor de Azure Database for PostgreSQL. El nombre del servidor solo puede contener letras, números y el carácter de guion (-). Los caracteres en mayúsculas que se especifiquen se convertirán automáticamente a minúsculas durante el proceso de creación. Debe contener entre 3 y 63 caracteres. |
ResourceGroupName | myresourcegroup | Especifique el nombre del grupo de recursos de Azure. |
SKU | GP_Gen5_2 | El nombre de la SKU. Sigue la convención plan de tarifa_generación de procesos_núcleos virtuales en forma abreviada. Para más información sobre el parámetro Sku, consulte la información de esta tabla. |
BackupRetentionDay | 7 | Cuánto tiempo deben conservarse las copias de seguridad. La unidad es días. El intervalo es 7-35. |
GeoRedundantBackup | habilitado | Si se deben habilitar las copias de seguridad con redundancia geográfica en este servidor o no. Este valor no se puede habilitar para los servidores en el plan de tarifa Básico y no se puede cambiar después de crear el servidor. Valores permitidos: Enabled (Habilitada), Disabled (Deshabilitada). |
Location | westus | Región de Azure para el servidor. |
SslEnforcement | habilitado | Si SSL debe habilitarse o no en este servidor. Valores permitidos: Enabled (Habilitada), Disabled (Deshabilitada). |
StorageInMb | 51200 | La capacidad de almacenamiento del servidor (la unidad es megabytes). Un valor de StorageInMb válido es un mínimo de 5120 MB y aumenta en incrementos de 1024 MB. Para más información sobre los límites del tamaño de almacenamiento, consulte Planes de tarifa de Azure Database for PostgreSQL. |
Versión | 9,6 | La versión principal de PostgreSQL. |
AdministratorUserName | myadmin | El nombre del usuario del inicio de sesión del administrador. No puede ser azure_superuser, admin, administrator, root, guest o public. |
AdministratorLoginPassword | <securestring> |
Contraseña del usuario administrador en forma de cadena segura. Debe tener entre 8 y 128 caracteres. La contraseña debe contener caracteres de tres de las siguientes categorías: Letras del alfabeto inglés mayúsculas y minúsculas, números y caracteres no alfanuméricos. |
El valor del parámetro Sku sigue la convención plan de tarifa_generación de proceso_núcleos virtuales como en los ejemplos siguientes.
-Sku B_Gen5_1
se asigna a Básico, Gen 5 y 1 núcleo virtual. Esta opción es la SKU más pequeña disponible.-Sku GP_Gen5_32
se asigna a De uso general, Gen 5 y 32 núcleos virtuales.-Sku MO_Gen5_2
se asigna a Optimizado para memoria, Gen 5 y 2 núcleos virtuales.
Para más información sobre los valores válidos de Sku por región y sobre los planes, consulte Planes de tarifa de Azure Database for PostgreSQL.
En el ejemplo siguiente se crea un servidor PostgreSQL en la región Oeste de EE. UU. denominado mydemoserver en el grupo de recursos myresourcegroup con el inicio de sesión del administrador del servidor de myadmin. Es un servidor de generación 5 en el plan de tarifa de uso general con dos núcleos virtuales y con copias de seguridad con redundancia geográfica habilitadas. Documente la contraseña usada en la primera línea del ejemplo, ya que se trata de la contraseña de la cuenta de administrador del servidor PostgreSQL.
Sugerencia
Un nombre de servidor se asigna a un nombre DNS y debe ser único en todo el mundo en Azure.
$Password = Read-Host -Prompt 'Please enter your password' -AsSecureString
New-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup -Sku GP_Gen5_2 -GeoRedundantBackup Enabled -Location westus -AdministratorUsername myadmin -AdministratorLoginPassword $Password
Considere la posibilidad de usar el plan de tarifa Básico si menos proceso y E/S resultan adecuados para su carga de trabajo.
Importante
Los servidores que creó en el plan de tarifa Básico no se podrán escalar más adelante a servidores de uso general u optimizados para memoria y no se pueden replicar geográficamente.
Configuración de una regla de firewall
Cree una regla de firewall de nivel de servidor de Azure Database for PostgreSQL con el cmdlet New-AzPostgreSqlFirewallRule
. Una regla de firewall de nivel de servidor permite que una aplicación externa, como la herramienta de línea de comandos psql
o PostgreSQL Workbench, se conecte al servidor mediante el firewall del servicio Azure Database for PostgreSQL.
En el ejemplo siguiente se crea una regla de firewall denominada AllowMyIP que permite las conexiones desde una dirección IP específica, 192.168.0.1. Sustituya por una dirección IP o intervalo de direcciones IP que se corresponda a la ubicación desde la que se conecta.
New-AzPostgreSqlFirewallRule -Name AllowMyIP -ResourceGroupName myresourcegroup -ServerName mydemoserver -StartIPAddress 192.168.0.1 -EndIPAddress 192.168.0.1
Nota
Las conexiones a Azure Database for PostgreSQL se comunican a través del puerto 5432. Si intenta conectarse desde una red corporativa, es posible que no se permita el tráfico saliente a través del puerto 5432. En este escenario, solo podrá conectarse al servidor si el departamento de TI abre el puerto 5432.
Obtención de la información de conexión
Para conectarse al servidor, debe proporcionar las credenciales de acceso y la información del host. Use el ejemplo siguiente para determinar la información de conexión. Tome nota de los valores de FullyQualifiedDomainName y AdministratorLogin.
Get-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
Select-Object -Property FullyQualifiedDomainName, AdministratorLogin
FullyQualifiedDomainName AdministratorLogin
------------------------ ------------------
mydemoserver.postgres.database.azure.com myadmin
Conectarse a la base de datos de PostgreSQL mediante psql
Si el equipo cliente tiene PostgreSQL instalado, puede usar una instancia local de psql para conectarse a un servidor Azure PostgreSQL. También puede acceder a una versión preinstalada de la herramienta de línea de comandos psql
en Azure Cloud Shell si selección el botón Pruébelo en un código de ejemplo de este artículo. Otras maneras de acceder a Azure Cloud Shell consisten en seleccionar el botón >_ en la barra de herramientas superior derecha de Azure Portal o visitar shell.azure.com.
Conéctese al servidor Azure PostgreSQL mediante la utilidad de línea de comandos
psql
.psql --host=<servername> --port=<port> --username=<user@servername> --dbname=<dbname>
Por ejemplo, el siguiente comando se conecta a la base de datos predeterminada denominada postgres en el servidor PostgreSQL
mydemoserver.postgres.database.azure.com
con las credenciales de acceso. Escriba el valor de<server_admin_password>
que eligió cuando se le solicitó una contraseña.psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=myadmin@mydemoserver --dbname=postgres
Sugerencia
Si prefiere usar una ruta URL para conectarse a Postgres, codifique la URL con el signo @ en el nombre de usuario con
%40
. Por ejemplo, la cadena de conexión de psql seríapsql postgresql://myadmin%40mydemoserver@mydemoserver.postgres.database.azure.com:5432/postgres
.Una vez conectado al servidor, cree una base de datos vacía en el símbolo del sistema.
CREATE DATABASE mypgsqldb;
En el símbolo del sistema, ejecute el siguiente comando para cambiar la conexión a la base de datos mypgsqldb recién creada:
\c mypgsqldb
Conexión al servidor de PostgreSQL mediante pgAdmin
pgAdmin es una herramienta de código abierto que se usa con PostgreSQL. Puede instalar pgAdmin desde el sitio web de pgAdmin. La versión de pgAdmin que use podría ser diferente de la que se usa en esta guía de inicio rápido. Lea la documentación de pgAdmin si necesita instrucciones adicionales.
Abra la aplicación pgAdmin en el equipo cliente.
En la barra de herramientas, vaya a Object (Objeto), mantenga el mouse sobre Create (Crear) y seleccione Server (Servidor).
En el cuadro de diálogo Create - Server (Crear: servidor) de la pestaña General, escriba un nombre descriptivo único para el servidor, como mydemoserver.
En la pestaña Connection (Conexión) del cuadro de diálogo Create - Server (Crear: servidor), rellene la tabla de configuración.
parámetro pgAdmin Value Descripción Host name/address Nombre de servidor El valor de nombre de servidor que usó al crear el servidor de Azure Database for MySQL. Nuestro servidor de ejemplo es mydemoserver.postgres.database.azure.com. Use el nombre de dominio completo (*.postgres.database.azure.com) como se muestra en el ejemplo. Si no recuerda el nombre del servidor, siga los pasos de la sección anterior para obtener la información de conexión. Port 5432 El puerto se usará al conectarse al servidor de Azure Database for PostgreSQL. Maintenance Database postgres Nombre de la base de datos predeterminada que crea el sistema. Nombre de usuario Nombre de inicio de sesión del administrador del servidor El nombre de usuario de inicio de sesión del administrador del servidor que suministró al crear el servidor de Azure Database for PostgreSQL. Si no recuerda el nombre de usuario, siga los pasos de la sección anterior para obtener la información de conexión. El formato es nombre_de_usuario@nombre_de_servidor. Contraseña Contraseña del administrador La contraseña que eligió al crear el servidor antes en esta guía de inicio rápido. Role Déjelo en blanco No es necesario proporcionar un nombre de rol en este momento. Deje el campo en blanco. SSL Mode Require Puede establecer el modo TLS/SSL en la pestaña SSL de pgAdmin. De forma predeterminada, todos los servidores de Azure Database for PostgreSQL se crean de modo que se exija TLS. Para desactivar la aplicación de TLS, consulte Configuración de la aplicación de TLS. Seleccione Guardar.
En el panel izquierdo del explorador, expanda el nodo Servidores. Seleccione el servidor, por ejemplo, mydemoserver. Selecciónelo para conectarse a este.
Expanda el nodo de servidor y Bases de datos. La lista debe incluir las bases de datos postgres existentes y otras bases de datos que haya creado. Con Azure Database for PostgreSQL puede crear varias bases de datos por servidor.
Haga clic con el botón derecho en Bases de datos, elija el menú Crear y, a continuación, seleccione Base de datos.
Escriba el nombre de base de datos que quiera en el campo Base de datos, por ejemplo, mypgsqldb2.
Seleccione el propietario de la base de datos en el cuadro de lista. Elija el nombre de inicio de sesión del administrador del servidor, como en el ejemplo, my admin.
Seleccione Guardar para crear una base de datos vacía.
En el panel del explorador, puede ver la base de datos que ha creado en la lista de bases de datos, debajo del nombre del servidor.
Limpieza de recursos
Si no se necesitan los recursos que se han creado en este inicio rápido para otro inicio rápido o tutorial, puede eliminarlos con el siguiente comando.
Precaución
En el ejemplo siguiente se elimina el grupo de recursos especificado y todos los recursos que contiene. Si los recursos que están fuera del ámbito de este inicio rápido existen en el grupo de recursos especificado, también se eliminarán.
Remove-AzResourceGroup -Name myresourcegroup
Para eliminar solo el servidor creado en este inicio rápido sin eliminar el grupo de recursos, use el cmdlet Remove-AzPostgreSqlServer
.
Remove-AzPostgreSqlServer -Name mydemoserver -ResourceGroupName myresourcegroup