注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用 DBeaver 通过 PostgreSQL 连接到 Oracle Cloud Infrastructure Database
简介
在本教程中,我们将探讨如何使用 DBeaver 等数据库管理工具通过 PostgreSQL 连接到 Oracle Cloud Infrastructure Database。
DBeaver 是一款免费的开源数据库管理工具,通过为数据库管理、开发和数据分析提供用户友好的界面,可显著提高 PostgreSQL 数据库管理员 (DBA) 的效率。也可以考虑其他任何工具。
本教程将演示如何在专用子网内使用 PostgreSQL 预配 OCI 数据库。此外,在第二个和第三个任务中,我们将预配一个计算实例作为同一虚拟云网络 (Virtual Cloud Network,VCN) 中的堡垒主机,从而允许通过数据库管理工具(如 DBeaver)访问 PostgreSQL 数据库。
以下方案描述了方法。
目标
-
在专用子网中创建 PostgreSQL 数据库实例。
-
创建 Oracle Cloud Infrastructure (OCI) 计算实例以使用同一 VCN 连接到公共子网中的 PostgreSQL。将端口
5432
添加到专用子网安全列表中。 -
使用 DBeaver 进行连接。
先决条件
- 访问具有创建数据库和计算实例权限的 OCI 租户。
任务 1:在专用子网中创建 PostgreSQL 数据库实例
我们可以使用多种方法创建 PostgreSQL 数据库实例,例如 OCI 控制台、CLI 和 API。有关更多信息,请参见 Creating a Database System 。
在此任务中,我们将使用 OCI 控制台创建托管 PostgreSQL 数据库系统。
-
登录到 OCI 控制台,导航到数据库 PostgreSQL ,然后单击数据库系统。
-
单击创建 PostgreSQL 数据库系统。
-
在 Create PostgreSQL Database system(创建 PostgreSQL 数据库系统)页中,选择 Create new Database system(创建新数据库系统),然后单击 Next(下一步)。
-
在数据库系统配置部分中,输入以下信息。
-
数据库系统名称:输入数据库系统的名称。
-
说明(可选):输入数据库系统的说明。
-
PostgreSQL 主版本:选择 PostgreSQL 数据库的主版本。唯一允许使用的值为 14。
-
-
在数据库系统部分中,输入节点计数的值。需要一个主节点。额外的节点保留为读取副本节点。
-
为数据库选择性能层。有关更多信息,请参见绩效层。
-
选择数据放置。
- 区域:数据持久存储在该区域的多个可用性域中。
- 特定于可用性域:数据持久存储在所选可用性域中。
-
在硬件配置部分中,输入以下信息。
-
OCPU 计数:选择每个节点的 OCPU 数。
-
可用配置:选择数据库节点的配置。
-
-
在 Network configuration 部分中,输入以下信息。
-
虚拟云网络:选择要在其中创建数据库的 VCN。如果需要创建 VCN,请单击创建 VCN 。有关更多信息,请参见VCN and Subnet Management 。
-
子网:选择所选 VCN 的专用子网。
-
专用 IP 地址:数据库实例的子网中的专用 IP 地址。该值是可选的。如果未提供 IP 地址,则从指定子网中的可用 IP 地址中选择一个 IP 地址。
-
-
在数据库系统管理员身份证明部分中,输入数据库的身份证明。管理员无法获取超级用户访问权限。具有 PostgreSQL 管理员用户的 OCI 数据库可以创建用户和角色。
-
用户名:指定管理员的用户名。在创建数据库系统后无法更改此值。
-
密码选项:请选择以下选项之一。
-
输入密码:
-
口令:输入管理员口令。
-
确认口令:确认管理员口令。
-
-
使用 OCI Vault:
-
Vault:选择包含管理员密码的 Vault。
-
Secret:选择包含管理员密码的密钥。
-
秘密版本:选择密钥版本。
-
-
-
-
配置数据库系统后,单击下一步。
-
查看数据库系统配置,然后单击提交。
-
创建成功后,访问数据库系统的常规信息页。
任务 2:创建 OCI 计算实例以连接到 PostgreSQL
PostgreSQL 数据库正在专用网络中部署,我们将创建具有公共 IP 地址的实例并授予其对 PostgreSQL 的访问权限。此新创建的实例将用作 PostgreSQL 数据库的入口点。
-
转到 OCI 控制台,导航到计算和实例。
-
在预配了 OCI PostgreSQL 数据库实例的同一 VCN 中选择公共子网。
-
通过 SSH 连接到实例并运行以下命令。这将安装 PostgreSQL 版本 14 的客户机。
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
-
转到 OCI PostgreSQL 概览页,单击 CA 证书中的复制,或者下载证书并在终端中运行以下命令。
sudo nano ./dbsystem.pub
将完整证书复制并粘贴到
dbsystem.pub
文件中。保存并关闭该文件。 -
使用以下命令测试连接。
psql -h [DB Private IP] -U [user name] -d postgres
例如:
psql -h 10.0.1.165 -U admin -d postgres
-
以测试身份运行语句以检查连接。
SELECT VERSION();
-
以用户身份运行以下语句进行连接。
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
例如:
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"
-
运行以下语句以测试连接是否正常工作。
SELECT VERSION();
任务 3:使用 DBeaver 进行连接
在本任务中,我们将安装 DBeaver 并连接到 PostgreSQL。
-
从此处下载并安装 DBeaver:DBeaver 社区。
-
添加身份证明以使用 PostgreSQL 连接到 OCI 数据库。
-
输入虚拟机 (virtual machine,VM) IP 地址和端口 22。DBeaver 将使用 SSH 访问具有 PostgreSQL 数据库的 OCI 数据库,从而在公共子网中使用相同的 VM 实例。
-
(可选)运行以下语句以使用 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;
概述创建的表。
相关链接
确认
- Authors — Ismael Hassane(数据平台高级解决方案架构师),Jevon Rowan(开源数据服务专家首席云解决方案工程师)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15179-01
September 2024