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

  1. Inicia sesión en el Portal de Azure.

  2. Selecciona "Crear un recurso" y busca "Azure Database for PostgreSQL".

  3. Selecciona "Servidor único" y haz clic en "Crear".

  4. 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.
  5. Configura el tamaño y el almacenamiento según tus necesidades.

  6. Revisa y crea el servidor.

Paso 2: Configurar reglas de firewall

  1. Navega a tu servidor PostgreSQL en el portal de Azure.
  2. En el menú de la izquierda, selecciona "Configuración de red".
  3. 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

CREATE DATABASE mi_base_de_datos;

Crear una tabla

CREATE TABLE empleados (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100),
    puesto VARCHAR(100),
    salario DECIMAL
);

Insertar datos

INSERT INTO empleados (nombre, puesto, salario) VALUES ('Juan Pérez', 'Desarrollador', 50000);

Consultar datos

SELECT * FROM empleados;

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

  1. Crea una instancia de Azure Database for PostgreSQL siguiendo los pasos mencionados.
  2. Configura las reglas de firewall para permitir el acceso desde tu IP.
  3. Conéctate a la base de datos usando psql o una aplicación Python.

Ejercicio 2: Realizar operaciones básicas

  1. Crea una base de datos llamada empresa.
  2. Dentro de empresa, crea una tabla llamada departamentos con las columnas id, nombre y ubicación.
  3. Inserta algunos registros en la tabla departamentos.
  4. 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.

© Copyright 2024. Todos los derechos reservados