Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por otros específicos de su entorno en la nube.
Conéctese a Oracle Cloud Infrastructure Database con PostgreSQL mediante DBeaver
Introducción
En este tutorial, exploraremos cómo conectarse a Oracle Cloud Infrastructure Database con PostgreSQL mediante una herramienta de administración de bases de datos como DBeaver.
DBeaver es una herramienta gratuita de gestión de bases de datos de código abierto que mejora significativamente la eficiencia de los administradores de bases de datos (DBA) de PostgreSQL al proporcionar una interfaz fácil de usar para la administración, el desarrollo y el análisis de datos de bases de datos. También se puede considerar cualquier otra herramienta.
En este tutorial se mostrará cómo aprovisionar una base de datos de OCI con PostgreSQL en una subred privada. Además, en la segunda y tercera tarea, aprovisionaremos una instancia informática para que sirva como host bastión en la misma red virtual en la nube (VCN), lo que permitirá el acceso a la base de datos PostgreSQL a través de una herramienta de administración de bases de datos como DBeaver.
El siguiente esquema muestra el enfoque.
Objetivos
-
Cree una instancia de base de datos PostgreSQL en una subred privada.
-
Cree una instancia de Oracle Cloud Infrastructure (OCI) Compute para conectarse a PostgreSQL en una subred pública mediante la misma VCN. Agregue el puerto
5432
a la lista de seguridad de subred privada. -
Conectar mediante DBeaver.
Requisitos
- Acceso a un arrendamiento de OCI con privilegios para crear bases de datos e instancias informáticas.
Tarea 1: Creación de una instancia de base de datos PostgreSQL en una subred privada
Podemos utilizar varios métodos para crear una instancia de base de datos PostgreSQL como la consola de OCI, la CLI y la API. Para obtener más información, consulte Creación de un sistema de base de datos.
En esta tarea, utilizaremos la consola de OCI para crear un sistema de base de datos PostgreSQL gestionado.
-
Conéctese a la consola de OCI, vaya a Bases de datos, PostgreSQL y haga clic en Sistemas de base de datos.
-
Haga clic en Crear sistema de base de datos PostgreSQL.
-
En la página Crear sistema de base de datos PostgreSQL, seleccione Crear nuevo sistema de base de datos y haga clic en Siguiente.
-
En la sección Configuración del sistema de base de datos, introduzca la siguiente información.
-
Nombre del sistema de base de datos: introduzca un nombre para el sistema de base de datos.
-
Descripción (Opcional): introduzca una descripción para el sistema de base de datos.
-
PostgreSQL versión superior: seleccione una versión superior de la base de datos PostgreSQL. El único valor permitido es 14.
-
-
En la sección Sistema de base de datos, introduzca un valor para Recuento de nodos. Se necesita un nodo principal. Los nodos adicionales se reservan como nodos de réplica de lectura.
-
Seleccione Nivel de rendimiento para la base de datos. Para obtener más información, consulte Niveles de rendimiento.
-
Seleccione Ubicación de datos.
- Regional: los datos se almacenan de forma duradera en varios dominios de disponibilidad en la región.
- Específico de dominio de disponibilidad: los datos se almacenan de forma duradera en el dominio de disponibilidad seleccionado.
-
En la sección Configuración de hardware, introduzca la siguiente información.
-
Recuento de OCPU: seleccione el número de OCPU por nodo.
-
Unidades disponibles: seleccione la unidad de los nodos de base de datos.
-
-
En la sección Configuración de red, introduzca la siguiente información.
-
Red virtual en la nube: seleccione la VCN en la que desea crear la base de datos. Si necesita crear una VCN, haga clic en crear una VCN. Para obtener más información, consulte Gestión de subredes y VCN.
-
Subred: seleccione la subred privada de la VCN seleccionada.
-
Dirección IP privada: dirección IP privada de la subred para la instancia de base de datos. El valor es opcional. Si no se proporciona una dirección IP, se elige una de entre las direcciones IP disponibles en la subred especificada.
-
-
En la sección Credenciales del administrador del sistema de la base de datos, introduzca las credenciales de la base de datos. Los administradores no obtienen acceso de superusuario. Una base de datos de OCI con un usuario administrador PostgreSQL puede crear usuarios y roles.
-
Nombre de usuario: especifique el nombre de usuario del administrador. Este valor no se podrá cambiar una vez creado el sistema de base de datos.
-
Opciones de contraseña: seleccione una de las siguientes opciones.
-
Contraseña de entrada:
-
Contraseña: Introduzca la contraseña del administrador.
-
Confirmar contraseña: confirme la contraseña del administrador.
-
-
Usar OCI Vault:
-
Almacén: seleccione el almacén que contiene la contraseña del administrador.
-
Secreto: seleccione el secreto que contiene la contraseña del administrador.
-
Versión de secreto: seleccione una versión de secreto.
-
-
-
-
Después de configurar el sistema de base de datos, haga clic en Siguiente.
-
Revise la configuración del sistema de base de datos y haga clic en Enviar.
-
Una vez creada correctamente, acceda a la página de información general del sistema de base de datos.
Tarea 2: Creación de una instancia informática de OCI para conectarse a PostgreSQL
La base de datos PostgreSQL se está desplegando en una red privada. Crearemos una instancia con una dirección IP pública y le otorgaremos acceso a PostgreSQL. Esta instancia recién creada servirá como punto de entrada a la base de datos PostgreSQL.
-
Vaya a la consola de OCI y vaya a Compute e Instances.
-
Seleccione una subred pública en la misma VCN que ha aprovisionado la instancia de base de datos PostgreSQL de OCI.
-
Establezca una conexión SSH con la instancia y ejecute los comandos siguientes. Esto instalará el cliente para la versión 14 de PostgreSQL.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
Vaya a la página de visión general de OCI PostgreSQL, haga clic en Copiar en el certificado de CA o descargue el certificado y ejecute el siguiente comando en el terminal.
sudo nano ./dbsystem.pub
Copie y pegue el certificado completo en el archivo
dbsystem.pub
. Guarde y cierre el archivo. -
Pruebe la conexión con el siguiente comando.
psql -h [DB Private IP] -U [user name] -d postgres
Por ejemplo:
psql -h 10.0.1.165 -U admin -d postgres
-
Ejecute la sentencia como prueba para revisar la conexión.
SELECT VERSION();
-
Ejecute la siguiente sentencia para conectarse como usuario.
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
Por ejemplo:
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
Ejecute la siguiente sentencia para probar si la conexión funciona.
SELECT VERSION();
Tarea 3: Conexión mediante DBeaver
En esta tarea, instalaremos DBeaver y nos conectaremos a PostgreSQL.
-
Descargue e instale DBeaver desde aquí: DBeaver Community.
-
Agregue las credenciales para conectarse a la base de datos de OCI con PostgreSQL.
-
Introduzca la dirección IP de la máquina virtual (VM) y el puerto 22. DBeaver utilizará la misma instancia de VM en la subred pública mediante SSH para acceder a la base de datos de OCI con la base de datos PostgreSQL.
-
(Opcional) Ejecute la siguiente sentencia para crear una tabla y cargar datos mediante DBeaver.
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
Visión general de la tabla creada.
Enlaces relacionados
Agradecimientos
- Autores: Ismael Hassane (arquitecto de soluciones sénior, plataforma de datos), Jevon Rowan (ingeniero de soluciones en la nube principal, especialista en servicios de datos de código abierto)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de formación gratuita en el canal YouTube de Oracle Learning. Además, visita education.oracle.com/learning-explorer para convertirte en un Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15181-01
September 2024