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 ,并且是超级用户。

相关推荐
科技小花5 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56616 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_771717218 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
小江的记录本8 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi8 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai9 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw09 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
czlczl200209259 小时前
利用“延迟关联”优化 MySQL 巨量数据的深分页查询
数据库·mysql
ACP广源盛1392462567310 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑