PostgreSQL 基础知识:psql 入门

PostgreSQL 有一个单独的命令行工具psql,该工具已经使用了几十年,并且包含在任何 PostgreSQL 安装中。许多 PostgreSQL 的长期用户、开发人员和管理员都依赖它来帮助他们快速连接到数据库、检查模式和执行 SQL 查询。

了解如何安装和使用基本psql命令是任何连接到 PostgreSQL 的人都必须具备的基本技能。

一、安装psql

命令行 (CLI)工具 psql 在 Linux、MacOS 和 Windows 上可用。它预先捆绑在 PostgreSQL 服务器安装包中,也可以作为独立的 CLI 应用程序进行安装。

此外,psql与 PostgreSQL 一起进行版本控制,因为它在您使用元命令运行的查询需要使用较新的目录模式。

二、检查psql

因为 psql 与 PostgreSQL 服务器捆绑在一起,所以如果您曾经安装过PostgreSQL,则您的计算机上可能已经可以使用它。在终端或 Windows 命令提示符下键入以下内容:

复制代码
$> psql --version2 
psql (PostgreSQL) 15.0 (Ubuntu 15.0-1.pgdg20.04+1)

如果您看到列出psql版本信息,那么说明您已经安装了psql。如果版本较旧,请考虑更新它。

一个好的经验是尝试拥有一个与PostgreSQL 相匹配的psql版本。对于我们在下面介绍的基本命令,您拥有的任何版本很可能都可以使用,但保持psql更新是一个值得遵循的好习惯。

三、在Linux上安装

所有主要的 Linux 发行版都应该有postgresql-client., 这可用于仅安装服务器以外的 PostgreSQL 工具,包括psql、pg_dump、 pg_restore等工具。

我们将使用 Ubuntu 作为示例,但是您的发行版的包管理器应该具有相同(或非常相似)的包名称来执行相同的操作。下面的命令将安装最新版本的工具。

在终端提示符下,运行以下命令:

复制代码
$> sudo apt-get update
$> sudo apt-get install postgresql-client

完成后,psql如前所示通过检查版本来验证安装。

四、Dockers

最后,如果我没有提到 Docker 作为替代方案,那我就是失职了。通过交互式 Docker shell,可以使用任何官方 PostgreSQL 容器来连接和使用psql. 无论您是尝试连接到 Docker 实例本身上的 PostgreSQL 还是远程连接,psql都可以使用已安装的应用程序(假设网络设置正确)。

例如,以下命令可用于下载和启动 PostgreSQL Docker 容器,连接到正在运行的 shell,并在容器内部使用psql。

复制代码
ryan@redgate-laptop:~$ docker run --name pg15 -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres
ryan@redgate-laptop:~$ docker exec -it pg15 bash
root@80049acea1c0:/# psql -h localhost -U postgres

五、连接到PostgreSQL

安装后,psql有两种方法可以指定目标数据库的基本连接参数。您将需要以下信息来连接到 PostgreSQL。

1、主机名

2、端口(默认为 5432)

3、用户名

4、密码

5、数据库名称

六、指定个别参数

有了以上信息,使用这些参数连接到数据库。如果 PostgreSQL 服务器在默认端口 5432 上运行,您可以省略-p开关,psql将自动尝试连接到该端口。

psql -h [hostname] -p [port] -U [username] -d [database name]

如果所有信息都正确,系统将提示您输入密码。使用单独的参数连接到PostgreSQL时,无法在命令行上提供密码。您将始终收到提示,或者您可以在文件中.pgpass指定它。

使用 PostgreSQL 连接 URI

或者,您可以使用连接参数创建 PostgreSQL 连接 URI 以连接到数据库。

复制代码
psql postgresql://[username]:[password]@[hostname]:[port]/[database name]

使用这种形式,您可以在连接字符串中指定密码,只要它不包含分号 ; 或 @ 符号,因为它们会干扰连接

URI 解析。如果省略密码,PostgreSQL 会提示您。

七、结论

命令行psql是任何使用 PostgreSQL 的人的首选工具。凭借数十年的发展和数百个内置的元命令来帮助开发人员和管理员快速高效地使用 PostgreSQL,知道如何安装和使用它来连接数据库是 PostgreSQL 用户的一项基本技能。

相关推荐
Yushan Bai18 分钟前
通过oracle 自动优化任务dbms_sqltune进行SQL优化的实战
数据库·oracle
qq_6543669833 分钟前
CSS如何处理@import样式表的嵌套加载_评估递归对加载的影响
jvm·数据库·python
weixin_3812881834 分钟前
苹果微软双修党福音:Navicat如何跨系统平滑迁移配置
jvm·数据库·python
NineData41 分钟前
NineData将亮相DACon 2026上海站!解锁AGI时代数据“智理”新范式
数据库·后端·架构
川石课堂软件测试1 小时前
软件测试:典型面试题库
数据库·python·功能测试·mysql·单元测试·grafana·prometheus
of Watermelon League1 小时前
SpringBoot集成Flink-CDC,实现对数据库数据的监听
数据库·spring boot·flink
忍冬行者1 小时前
MongoDB 三节点副本集离线部署运维手册
运维·数据库·mongodb
qq_342295821 小时前
CSS如何制作点击展开时的手风琴动画_平滑过渡max-height高度
jvm·数据库·python
Lucifer三思而后行2 小时前
zCloud 纳管 MySQL 8.4 数据库
数据库·mysql·oracle
我是菜菜呀呃2 小时前
达梦数据库日常运维SQL和问题排查
数据库