Postgresql客户端psql提示符(Prompt)配置

为防止连错库,导致误操作,可以配置Prompt提示符。

在 psql中,可以通过环境变量PROMPT1(以及PROMPT2、PROMPT3)定义命令行提示符的显示内容。

这些占位符(如%M、%n 、%/等)会在运行时被替换为实际信息,用来让DBA或开发者在终端里快速看到当前连接的数据库信息、用户、主机、事务状态。

用途主要有:

1. **显示连接信息:**区分你现在连的是哪台数据库主机、哪个数据库、什么用户。

2. **安全提示:**不同提示符(如>Vs #)提醒你是普通用户还是超级用户,避免误操作。

3. **事务状态提示:**显示是否在事务中,或者事务是否失败,避免忘记提交/回滚。

4 **、交互式操作更直观:**特别是同时管理多台数据库时,提示符能防止混淆。

|---------|--------------------------------------------|
| 符号 | 含义 |
| %M / %m | 主机名(完整/截断) |
| %n | 当前会话用户名 |
| %/ | 当前数据库名 |
| %# | >普通用户提示符,# 数据库超级用户提示符 |
| %R | 输入提示符:检测未闭合的引号/漏掉分号 |
| %x | 1. 事务(TX)状态: 2. 空值→无事务 3. *在事务中 4. !→事务失败 |

举个例子:

如果设置:

\set PROMPT1 '%n@%M:%/ %# '

登录psql后可能会显示:

postgres@dbserver:mydb #

这里表示:当前用户postgres ,主机 dbserver,数据库 mydb ,并且是超级用户。

相关推荐
倔强的石头_18 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Swizard4 天前
逐行解剖:扒开 Lovable Agent 源码,看顶级 AI 是如何“思考”与“动刀”的
ai·prompt
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip