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 用户的一项基本技能。

相关推荐
wqq_9922502776 分钟前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空8 分钟前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
聂 可 以2 小时前
Windows环境安装MongoDB
数据库·mongodb
web前端神器2 小时前
mongodb多表查询,五个表查询
数据库·mongodb
门牙咬脆骨2 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨2 小时前
【Redis】GEO数据结构
数据库·redis·缓存
wusong9992 小时前
mongoDB回顾笔记(一)
数据库·笔记·mongodb
代码小鑫2 小时前
A043-基于Spring Boot的秒杀系统设计与实现
java·开发语言·数据库·spring boot·后端·spring·毕业设计
changuncle2 小时前
MongoDB数据备份与恢复(内含工具下载、数据处理以及常见问题解决方法)
数据库·mongodb
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql