概述
psql 是与 PostgreSQL 数据库交互的强大工具。它不仅支持 SQL 命令,还提供各种元命令(反斜杠命令)来简化数据库管理任务。
主要功能
- 执行 SQL 查询
- 管理数据库和表
- 设置用户和权限
- 执行脚本文件
- 提供交互式 Shell 环境
主要选项
psql 命令行的主要可用选项。
连接选项
命令执行选项
生成的命令:
请尝试组合命令。
描述:
`psql` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
psql 命令的各种使用示例。
基本数据库连接
psql
使用默认用户(当前系统用户)连接到默认数据库。
连接到特定数据库和用户
psql -U myuser -d mydb -W
使用 myuser 连接到 mydb 数据库。系统会提示输入密码。
连接到远程服务器
psql -h db.example.com -p 5432 -U postgres
使用 postgres 用户连接到远程主机 (db.example.com) 的 5432 端口。
执行单个 SQL 命令
psql -U postgres -d postgres -c "SELECT version();"
执行查询数据库版本的 SQL 命令,然后退出 psql。
执行 SQL 脚本文件
psql -U postgres -d mydb -f script.sql
执行 script.sql 文件中的 SQL 命令。
查询数据库列表
psql -l
显示当前 PostgreSQL 服务器上的所有数据库列表。
安装
psql 是 PostgreSQL 客户端软件包的一部分。大多数 Linux 发行版允许单独安装客户端工具,而无需安装 PostgreSQL 服务器。
Debian/Ubuntu
sudo apt update
sudo apt install postgresql-client
使用 apt 包管理器安装 PostgreSQL 客户端工具。
RHEL/CentOS/Fedora
sudo dnf install postgresql
使用 yum 或 dnf 包管理器安装 PostgreSQL 客户端工具。
提示与注意事项
更有效地使用 psql 的提示和注意事项。
主要 psql 元命令
在 psql Shell 中,可以使用以反斜杠(\)开头的命令执行各种任务。
- \l: 显示所有数据库列表
- \dt: 显示当前数据库的表列表
- \du: 显示所有用户(角色)列表
- \d <table>: 显示特定表的模式信息
- \q: 退出 psql
- \?: 显示所有元命令的帮助
利用环境变量
通过设置常用的连接信息为环境变量,可以简化 psql 命令。
- PGHOST: 主机名或 IP 地址
- PGPORT: 端口号
- PGUSER: 用户名
- PGDATABASE: 数据库名称
- PGPASSWORD: 密码(不推荐在命令行中设置,建议使用 .pgpass 文件)
.pgpass 文件
为了安全地存储密码而不暴露在命令行或环境变量中,建议使用 ~/.pgpass 文件。此文件存储特定主机、端口、数据库和用户名的密码,使 psql 能够自动进行身份验证。