Introducción
Azure Database for PostgreSQL es un servicio de base de datos relacional basado en la comunidad de PostgreSQL, que ofrece una solución completamente administrada para la implementación, administración y escalado de bases de datos PostgreSQL en la nube. Este servicio proporciona alta disponibilidad, seguridad, escalabilidad y rendimiento sin la necesidad de administrar la infraestructura subyacente.
Contenidos
Características principales
- Alta disponibilidad: Azure Database for PostgreSQL ofrece una disponibilidad del 99.99% con conmutación por error automática.
- Seguridad: Incluye cifrado de datos en reposo y en tránsito, así como autenticación y autorización integradas.
- Escalabilidad: Permite escalar verticalmente (aumentar recursos de CPU y memoria) y horizontalmente (añadir réplicas de lectura).
- Automatización: Gestión automática de parches y actualizaciones de software.
- Integración: Se integra fácilmente con otros servicios de Azure como Azure Data Factory, Azure Logic Apps y Power BI.
Configuración inicial
Paso 1: Crear una instancia de Azure Database for PostgreSQL
-
Inicia sesión en el Portal de Azure.
-
Selecciona "Crear un recurso" y busca "Azure Database for PostgreSQL".
-
Selecciona "Servidor único" y haz clic en "Crear".
-
Completa los detalles básicos:
- Nombre del servidor: Un nombre único para tu servidor PostgreSQL.
- Ubicación: Selecciona la región más cercana a tus usuarios.
- Versión: Selecciona la versión de PostgreSQL que deseas usar.
- Nombre de usuario y contraseña: Configura las credenciales de administrador.
-
Configura el tamaño y el almacenamiento según tus necesidades.
-
Revisa y crea el servidor.
Paso 2: Configurar reglas de firewall
- Navega a tu servidor PostgreSQL en el portal de Azure.
- En el menú de la izquierda, selecciona "Configuración de red".
- Agrega una regla de firewall para permitir el acceso desde tu IP o rango de IPs.
Conexión a la base de datos
Conexión desde la línea de comandos
Puedes usar psql
, la herramienta de línea de comandos de PostgreSQL, para conectarte a tu base de datos.
psql --host=<nombre-del-servidor>.postgres.database.azure.com --port=5432 --username=<nombre-de-usuario>@<nombre-del-servidor> --dbname=postgres
Conexión desde una aplicación
Aquí tienes un ejemplo de cómo conectarte a tu base de datos desde una aplicación Python usando psycopg2
:
import psycopg2 try: connection = psycopg2.connect( user="<nombre-de-usuario>@<nombre-del-servidor>", password="<tu-contraseña>", host="<nombre-del-servidor>.postgres.database.azure.com", port="5432", database="postgres" ) cursor = connection.cursor() cursor.execute("SELECT version();") record = cursor.fetchone() print("Conectado a - ", record, "\n") except Exception as error: print("Error al conectar a PostgreSQL", error) finally: if connection: cursor.close() connection.close() print("Conexión a PostgreSQL cerrada")
Operaciones básicas
Crear una base de datos
Crear una tabla
CREATE TABLE empleados ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), puesto VARCHAR(100), salario DECIMAL );
Insertar datos
Consultar datos
Seguridad y copias de seguridad
Seguridad
- Cifrado: Los datos en reposo y en tránsito están cifrados automáticamente.
- Autenticación: Usa autenticación basada en roles y políticas de contraseñas fuertes.
- Firewall: Configura reglas de firewall para restringir el acceso a tu base de datos.
Copias de seguridad
Azure Database for PostgreSQL realiza copias de seguridad automáticas diarias y permite restaurar a cualquier punto en el tiempo dentro del período de retención configurado (hasta 35 días).
Escalabilidad y rendimiento
Escalabilidad vertical
Puedes aumentar los recursos de CPU y memoria desde el portal de Azure sin tiempo de inactividad significativo.
Réplicas de lectura
Puedes crear réplicas de lectura para distribuir la carga de lectura y mejorar el rendimiento.
Ejercicios prácticos
Ejercicio 1: Crear y conectar una base de datos
- Crea una instancia de Azure Database for PostgreSQL siguiendo los pasos mencionados.
- Configura las reglas de firewall para permitir el acceso desde tu IP.
- Conéctate a la base de datos usando
psql
o una aplicación Python.
Ejercicio 2: Realizar operaciones básicas
- Crea una base de datos llamada
empresa
. - Dentro de
empresa
, crea una tabla llamadadepartamentos
con las columnasid
,nombre
yubicación
. - Inserta algunos registros en la tabla
departamentos
. - Realiza una consulta para obtener todos los registros de la tabla
departamentos
.
Soluciones
Ejercicio 1
psql --host=<nombre-del-servidor>.postgres.database.azure.com --port=5432 --username=<nombre-de-usuario>@<nombre-del-servidor> --dbname=postgres
Ejercicio 2
-- Crear base de datos CREATE DATABASE empresa; -- Conectar a la base de datos empresa \c empresa -- Crear tabla departamentos CREATE TABLE departamentos ( id SERIAL PRIMARY KEY, nombre VARCHAR(100), ubicación VARCHAR(100) ); -- Insertar registros INSERT INTO departamentos (nombre, ubicación) VALUES ('Recursos Humanos', 'Edificio A'); INSERT INTO departamentos (nombre, ubicación) VALUES ('Desarrollo', 'Edificio B'); -- Consultar registros SELECT * FROM departamentos;
Conclusión
En esta sección, hemos explorado cómo configurar y utilizar Azure Database for PostgreSQL. Hemos cubierto desde la creación de una instancia hasta la realización de operaciones básicas y la configuración de seguridad. Con estos conocimientos, estás preparado para gestionar bases de datos PostgreSQL en Azure de manera eficiente y segura. En el próximo módulo, profundizaremos en otros servicios de bases de datos en Azure, como Azure Cosmos DB.
Curso de Azure
Módulo 1: Introducción a Azure
- ¿Qué es Azure?
- Configuración de la cuenta de Azure
- Descripción general del portal de Azure
- Administrador de recursos de Azure
Módulo 2: Servicios principales de Azure
- Máquinas virtuales de Azure
- Servicios de aplicaciones de Azure
- Almacenamiento de Azure
- Redes de Azure
Módulo 3: Bases de datos de Azure
- Base de datos SQL de Azure
- Azure Cosmos DB
- Base de datos de Azure para MySQL
- Base de datos de Azure para PostgreSQL
Módulo 4: Seguridad en Azure
- Gestión de identidad y acceso de Azure
- Centro de seguridad de Azure
- Azure Key Vault
- Protección DDoS de Azure
Módulo 5: Azure DevOps
Módulo 6: Servicios avanzados de Azure
- Servicio de Kubernetes de Azure (AKS)
- Funciones de Azure
- Aplicaciones lógicas de Azure
- Servicios cognitivos de Azure
Módulo 7: Monitoreo y gestión
- Monitor de Azure
- Análisis de registros de Azure
- Información de aplicaciones de Azure
- Automatización de Azure