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

相关推荐
正在走向自律8 小时前
金仓数据库KingbaseES中级语法详解与实践指南
数据库·oracle·kingbasees·金仓数据库·信创改造
Gofarlic_oms18 小时前
Windchill用户登录与模块访问失败问题排查与许可证诊断
大数据·运维·网络·数据库·人工智能
我是小疯子668 小时前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
Shi_haoliu9 小时前
SolidTime 在 Rocky Linux 9.5 上的完整部署流程
linux·运维·nginx·postgresql·vue·php·laravel
Zoey的笔记本9 小时前
2026告别僵化工作流:支持自定义字段的看板工具选型与部署指南
大数据·前端·数据库
静听山水9 小时前
docker安装starrocks
数据库
学编程的小程10 小时前
从“兼容”到“超越”:金仓KESBSON引擎如何借多模融合改写文档数据库规则
数据库
千层冷面10 小时前
数据库分库分表
java·数据库·mysql·oracle
DBA小马哥10 小时前
金仓数据库引领国产化替代新范式:构建高效、安全的文档型数据库迁移解决方案
数据库·安全·mongodb·dba·迁移学习
企业对冲系统官11 小时前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划