如何在PostgreSQL的Azure数据库中使用psql工具

1,762 阅读6分钟

在这篇文章中,我们将学习如何将pSQL工具与PostgreSQL的Azure数据库连接起来。

简介

数据库有各种各样的格式,也有各种各样的工具可以与之一起使用。默认情况下,一般来说,每个数据库供应商都提供一个IDE(集成开发环境),或者一套管理工具套件,可以用来执行与管理、管理、数据库开发等相关的各种任务。这些工具可能是商业性质的,可能涉及到许可费用。另一类工具一般属于开放源码或基于社区的工具,由开发者社区开发,一般是免费提供的。从可用性的角度来看,所有这些工具一般可以分为两个不同的类别--基于GUI的工具和基于终端的工具。基于GUI的工具有某种形式的图形用户界面,终端用户使用它与工具进行交互,然后这些在用户界面上的操作被工具转换为与数据库相关的具体操作。这些类型的工具通常由管理员和开发人员共同使用。与基于GUI的工具不同,基于终端的工具在很大程度上依赖于命令行界面,任务是直接通过使用代码来完成的。

PostgreSQL是领先的开源关系型数据库之一,它有一个非常丰富的基于社区的工具生态系统。微软Azure云有Azure Database for PostgreSQL,作为其在Azure云上提供的PostgreSQL。虽然它有很多直接从Azure门户的网络控制台配置服务器实例的功能,但它没有提供任何独立的或基于桌面的工具来与Azure Database for PostgreSQL的实例一起工作。其中一个原因是,像pgAdmin这样的工具是一个功能非常丰富的社区开发的管理和数据库开发控制台,通常被PostgreSQL社区使用,已经可以免费使用。也有一些基于终端的工具可用于PostgreSQL。其中一个基于终端的工具叫做pSQL,它也可以用于PostgreSQL的数据库。

创建PostgreSQL的Azure数据库的实例

假设一个人已经有一个Azure账户和管理权限来创建一个PostgreSQL的数据库实例。为了用Azure数据库测试pSQL工具,首先,我们需要创建一个实例,这就是我们现在要做的。导航到Azure Database for PostgreSQL服务,点击新建按钮。这将调用一个新的向导,选择选项和配置来创建一个新的实例。第一个要选择的设置是部署选项,即我们打算创建的Azure Database for PostgreSQL实例的版本。对于我们的用例来说,虽然所有的选项都可以使用,但我们可以选择最简单和最便宜的一个,因为我们只是想测试psql工具与这个实例的连接性,而不会产生任何沉重的费用。所以,我们将选择单服务器选项,然后点击创建按钮。

Server options

在下一步,我们需要选择订阅和资源组,在其中创建实例。

Configuration Details

下一个部分是服务器细节部分,我们需要提供一个合适的实例名称,实例部署的位置,我们打算部署的PostgreSQL版本,以及计算和存储容量。要在PostgreSQL上使用psql工具,这些选项对我们的用例不会有任何影响。所以,在这里我们可以继续使用默认选择。

Server Details

下一节是管理员账户部分,我们需要提供管理员连接该账户的凭证。当我们使用psql连接正在创建的实例时,这些凭证将被使用。所以,提供适当的证书,并记下它们,以备不时之需。

Admin account

其余的选项可以用它们的默认设置来配置,因为它们不会对有关的用例产生影响。完成向导中的其余步骤,为PostgreSQL创建一个新的Azure数据库实例。一旦实例被创建,本练习的第一部分就完成了。

使用pgAdmin和psql

现在实例已经到位,下一步是安装pgAdmin工具。有人可能会问,为什么我们不安装psql工具,而要安装pgAdmin工具。原因是,当我们安装pgAdmin工具时,psql也会被安装。而pgAdmin是一套管理工具,通常是开发人员和管理员在使用PostgreSQL时首先使用的工具。因此,与其单独安装psql工具,不如把它作为pgAdmin的一部分来安装。要安装pgAdmin,可以导航到产品网站,如下图所示,根据工具的安装环境下载产品的版本,然后安装和设置工具。

Download pgAdmin

一旦pgAdmin被安装,它将如下图所示。当你第一次访问该工具时,它将提供一个提示来设置一个主密码。一旦设置好,每次打开pgAdmin时都会要求输入这个主密码,如下图所示。根据需要进行相同的配置,并导航到 pgAdmin 的主屏幕。

Register server

在我们开始使用pgAdmin和它的一套工具与Azure Database for PostgreSQL实例之前,我们需要首先注册这个实例。在左侧的浏览器窗格中点击服务器组......,然后点击创建新服务器的选项,如下图所示。

Create a new server group

这将打开一个连接向导,如下图所示。为服务器提供一个名称,主机名将是实例的端点名称,提供管理员证书,并在SSL标签中把SSL模式设置为 "需要",然后点击创建按钮。一旦完成,如果pgAdmin工具能够成功连接到实例,那么实例将被注册。人们还需要将安装pgAdmin的机器IP添加到Azure Database for PostgreSQL实例的连接安全设置中,这样防火墙就会允许来自pgAdmin的连接请求。

Connection Details

现在pgAdmin可以与实例连接,这就意味着连接已经成功建立。但是我们需要使用psql工具,这是一个单独的工具。我们可以从pgAdmin调用和访问这个工具,尽管它将使用自己的协议和连接来连接到实例。要调用psql工具,在浏览器窗格中选择服务器上的数据库,然后点击工具栏上的最后一个图标,如下图所示,这就调用了psql工具。

Invoke psql tool

一旦工具窗口打开,它将使用pgAdmin工具所使用的相同的连接凭证,并尝试连接到选定的数据库。一旦连接成功,它将显示提示名称为数据库的名称,如下图所示。

psql connected with database

为了测试连接性,也为了了解基于终端的工具有多强大,只需输入一个命令--"\l "并按回车键。它将显示一个实例中所有数据库的列表,其细节如下图所示。这些命令可以用来开发强大而简洁的脚本,管理员往往会在数据库上使用这些脚本来执行各种任务。

List all databases

这样,我们就可以使用pgAdmin中的psql工具来连接到Azure数据库的PostgreSQL实例,以执行各种任务。

总结

在这篇文章中,我们创建了一个PostgreSQL的Azure数据库实例,安装了pgAdmin工具,其中也有psql工具,并使用psql连接到该实例。