如何自定义PostgreSQL/psql提示符?

Ian*_*non 8 postgresql customization command-line

如何在PostgreSQL命令行工具psql中自定义提示(理想情况下在每用户启动脚本中)?

具体地讲,我想能够改变它,同时仍然包含表示该命令是否是多行的字符(例如=,-,'等等).

我正在运行Ubuntu 10.04(Lucid),PostgreSQL 8.4.4.

Ste*_*e K 16

您当然可以自定义提示.

从文档:

提示psql问题可以根据您的喜好进行自定义.这三个变量PROMPT1,PROMPT2以及 PROMPT3包含描述提示符的外观的字符串和特殊的转义序列.提示1是psql请求新命令时发出的正常提示.在命令输入期间预期更多输入时发出提示2,因为命令未以分号终止或报价未关闭.运行SQL COPY命令时会发出提示3,并且您需要在终端上键入行值.

如果要基于每个用户设置提示,可以将\set命令添加到用户的.psqlrc文件中.

所以,你$HOME/.psqlrc会是这样的:

\set PROMPT1 '(%n@%M:%>) %`date +%H:%M:%S` [%/] \n%x%# '
Run Code Online (Sandbox Code Playgroud)