暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基本 psql 命令介绍

原创 Bigbig 2022-10-09
1074

在本文中,我们将对 psql 环境进行基本演练,并学习熟悉此工具的命令。

介绍

Postgres 是数据库生态系统中领先的开源数据库之一,而 pgAdmin 是用于在 PostgreSQL 上运行的最流行的工具之一。Azure 提供 Azure Database for PostgreSQL 作为在 Azure 云上创建 PostgreSQL 实例的产品。我们学习了如何创建 Azure Database for PostgreSQL 实例、安装和配置 pgAdmin,最后从 pgAdmin 调用该工具。

我们还在上一篇文章中介绍从 psql 连接到 Azure Database for PostgreSQL 实例。下一步是介绍用于使用 psql 开始使用此工具的基本命令、语法和约定。

psql命令和环境基础

在接下来的练习中,我们将从上一篇文章“将 psql 工具与 Azure Database for PostgreSQL 一起使用”中继续进行,我们在其中创建了 Azure Database for Postgresql 的单服务器部署,安装了 pgAdmin,将实例注册到pgAdmin,配置实例的防火墙设置以允许来自 pgAdmin 的传入连接,最后从 pgAdmin 调用 psql,它使用与 pgAdmin 连接到实例的相同连接凭据自动连接到实例。假设这个设置已经完成,pgAdmin 已经打开并连接到实例。

默认情况下,创建 Azure Database for PostgreSQL 实例时,它附带一个名为 Postgres 的内置数据库。要在工具中尝试与结果连接相关的命令,我们需要另一个数据库。因此,在进入 psql 环境之前,让我们先创建一个新数据库。右键单击浏览器窗格中的数据库图标,然后选择菜单选项以创建新数据库。这将调用一个新向导,如下所示。

数据库创建过程的第一步是提供基本详细信息,例如数据库名称、数据库所有者(默认情况下是连接到 pgadmin 并调用此向导的用户),以及任何描述有关数据库的更多信息的注释(可选)。

image.png

有更多选项可用于配置数据库,可以从定义、安全、参数和高级选项卡等不同选项卡访问这些选项。所有这些都处理数据库配置的不同方面。现在,由于我们专注于 psql,我们将继续使用默认选项。要简要查看整个配置,只需单击 SQL 选项卡并检查从所有这些选项卡中的配置设置生成的 SQL。SQL 选项卡将如下所示。

image.png

我们可以单击“保存”按钮,数据库将被创建。刷新浏览器窗格,然后我们将能够找到此处列出的新数据库。要调用该工具并直接连接到该数据库,请单击浏览器窗格中的数据库,然后单击 psql 图标以调用它。完成后,我们应该能够在右窗格中看到 psql 与所选数据库的连接,提示名称将是所选数据库的名称,如下所示。

image.png

人们应该学习在任何基于终端的工具中操作的第一个命令便是查找:有关命令参考本身的帮助、任何特定命令的语法以及有关环境细节的帮助的命令。psql 中相同的命令是“?”。所有命令通常以反斜杠“\”开头。当我们键入帮助命令时,它会显示所有参考命令的长列表,其中的摘录如下所示。

image.png

所有基于终端的工具都有不同的选项可用于配置工具的操作环境,并且它使用系统变量来保存不同工件(如库或系统文件夹)的配置或路径。如帮助部分中列出的命令所示,我们还可以选择查看这些详细信息。首先,我们将探索该命令以查看 psql 中可用于配置的不同选项。输入命令“? 选项”在控制台中,结果将如下所示。它将显示可以在命令中使用的一长串选项。例如,如果我们打算在安静模式下执行命令或脚本,我们可以使用 -q 选项,如下所示。

image.png

继续点击“回车”查看其余选项如下图。结果的底部显示了与连接选项相关的详细信息。在调用该工具时连接到 Azure Database for PostgreSQL 实例时,该工具已使用这些选项。这里的主机名是实例的端点名称,PostgreSQL 的默认端口是 5432,其余选项用于连接凭据。

image.png

每个控制台或基于终端的工具都经常使用脚本中的系统变量。为此,我们需要知道所有可用的变量。要查找这些经过特殊处理的变量,请键入命令“? 变量”,输出如下所示。我们可以根据需要使用 set 命令来更改这些变量的值,但这应该非常小心,因为更改这些系统变量的值会对可能使用这些变量的所有脚本产生全局影响。

image.png

当前连接在 Test 数据库上,如下所示。假设我们打算连接以更改与另一个数据库的连接 - Postgres。在这种情况下,我们可以使用“\c”命令后跟数据库名称,如下所示。这将更改从当前数据库到新数据库的连接以及更改提示名称,如下所示。

image.png

连接通常由几个变量组成,例如主机名、用户名和其他附加信息,例如连接是否使用 SSL 和其他此类详细信息。虽然我们通常通过查看提示名称知道我们正在连接的数据库的名称,但是连接的其他细节是不言而喻的。我们可以使用命令“\conninfo”来了解现有连接的详细信息,如下所示。

image.png

使用数据库时,管理员通常需要切换或分配角色以测试需要对数据库对象执行的权限的授予或撤销。我们可以使用命令“\dg”列出 Azure Database for PostgreSQL 实例中的所有可用角色,如下所示。

image.png

密码重置是许多用户不时执行的另一项常见任务。从 psql 命令提示符执行此操作也很容易。只需输入“\password”提示,它将提供更改密码的选项。如果打算更改其他用户或角色的密码,则可以使用此命令的附加选项来相应地更改密码。

image.png

在实际生产环境中,通常有几十个数据库,管理员可能需要在不同的数据库之间切换。为此,可能经常需要列出数据库及其各自的详细信息以检查它们。列出数据库的命令是“\l”,输出如下所示。它甚至会列出在浏览器窗格中不可见的隐藏数据库。

image.png

这些是需要注意的一些基本命令和选项,尤其是对于第一次使用 pgsql 工具来处理 Azure Database for PostgreSQL 实例的数据库管理员。人们总是可以通过使用命令寻求帮助来探索命令的详尽参考。

结论

在本文中,我们学习了如何熟悉基本的 psql 命令选项、检查与连接相关的设置以及探索数据库和其中的对象,这通常是使用该工具处理数据库对象本身之前的第一步.

关于作者

image.png
Gauri 是一名 SQL Server 专家,拥有 6 年以上与全球跨国咨询和技术组织合作的经验。她对 Azure SQL 数据库、SQL Server Reporting Services、R、Python、Power BI、数据库引擎等 SQL Server 主题充满热情。她在技术文档方面拥有多年经验,并且喜欢技术创作。

她在设计数据和分析解决方案以及确保其稳定性、可靠性和性能方面拥有丰富的经验。她还获得了 SQL Server 认证,并通过了 70-463:使用 Microsoft SQL Server 实施数据仓库等认证。

原文标题:Introduction to basic psql commands
原文作者:Gauri Mahajan
原文地址:https://www.sqlshack.com/introduction-to-basic-psql-commands/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 介绍
  • psql命令和环境基础
  • 结论
    • 关于作者