用途:psql 是 PostgreSQL 的命令行交互式客户端,该技能用于从命令行连接数据库、交互式执行 SQL、编写自动化脚本,以及创建和管理数据库与各类数据库对象,并处理事务、权限、备份恢复等管理任务。
主要能力:以 REPL 方式接收 SQL 语句与反斜杠元命令,并在会话内保持连接状态;支持命令历史与编辑。连接方面支持 -U/-h/-p/-d 参数、postgresql:// 连接串、环境变量(PGUSER/PGPASSWORD/PGHOST/PGPORT/PGDATABASE)、.pgpass 密码文件及 SSH 隧道;SSL 模式可选 disable、allow、prefer、require、verify-ca、verify-full。元命令覆盖库表索引视图函数等对象列举与查看(如 \l、\dt、\d、\df)、格式化输出(\pset、\x、\H、\t)、文件与历史(\i、\o、\e、\s、\copy)、批处理脚本(\echo、\set、!、\cd)以及事务与信息查询(\begin、\h、?)。命令行选项支持 -c 单条执行、-f 执行文件、-l 列出数据库、-v 设置变量、-X 跳过 ~/.psqlrc 等。
使用方式:基本连接命令为 psql [OPTIONS] [DBNAME [USERNAME]],例如 psql -U username -h hostname -p 5432 -d database_name。可在 ~/.psqlrc 中预设输出选项、变量与快捷键,通过 \set 定义变量并在 SQL 中以 :variable、:'variable'、:"variable" 形式替换;用 -f 或 \i 执行脚本文件配合 -s/-1 控制事务行为。
适用场景:命令行连库查询、自动化 SQL 脚本、库模式与对象管理、备份恢复、连接与认证配置、结果导出格式化、事务与权限管理、SQL 调试及日常数据库运维自动化。
限制:资料未说明具体授权、价格与平台支持范围,需以实际环境为准;会话为单数据库连接,切换库使用 \c 而非重新连接;.pgpass 涉及明文凭据需注意文件权限(chmod 600),SSL 严格模式需要相应证书文件。其余未提供信息暂未说明。