首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解psql提示

理解psql提示
EN

Database Administration用户
提问于 2014-06-02 20:00:35
回答 1查看 4.6K关注 0票数 5

postgres=#postgres-#有什么区别?我试着在谷歌上搜索并查看官方网站,但没有找到这些符号。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2014-06-02 21:39:49

psql有三个不同的提示,来源

提示psql问题可以根据您的喜好定制。三个变量PROMPT1PROMPT2PROMPT3包含描述提示符外观的字符串和特殊转义序列。

  • 提示1是在psql请求新命令时发出的正常提示。
  • 当命令输入期间需要更多输入时,就会发出提示符2,例如,因为命令没有用分号终止,或者引号没有关闭。
  • 在运行SQL COPY FROM STDIN命令时发出提示3,并且需要在终端上键入行值。

您可以在PSQL中看到\set在源代码中查看这里中的默认值。

代码语言:javascript
复制
#define DEFAULT_PROMPT1 "%/%R%# "
#define DEFAULT_PROMPT2 "%/%R%# "
#define DEFAULT_PROMPT3 ">> "

这些都是格式字符串。它们呈现不同的提示级别,与上面描述的%R不同,

%R

  • 在提示1中,通常为=,但如果会话处于条件块的非活动分支,则为@;单行模式为^,如果会话与数据库断开连接,则为! (如果\connect失败,则可能发生)。
  • 在提示符2中,%R替换为一个字符,该字符取决于psql要求更多输入的原因:如果命令尚未终止,则为-;如果有未完成的/* ... */注释,则为*;如果有未完成的引号,则为单引号;如果有未完成的引号标识符,则为双引号;如果有未完成的美元引号字符串,则为美元符号;如果有不匹配的左括号,则为(
  • 在提示3中,%R不会产生任何结果。

所以就有了,基于提示级别的%R更改。

票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/66413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档