GBase 8c gsql 提示符功能
GBase社区管理员通过提示符变量设置gsql的提示符,这些变量是由字符和特殊的转义字符所组成。
表1 提示符变量
| 变量 | 描述 | 示例 |
| PROMPT1 | gsql请求一个新命令时使用的正常提示符。 PROMPT1的默认值为:%/%R%# | 使用变量PROMPT1切换提示符: 提示符变为[local]: gbase=# \set PROMPT1 %M [local:/home/gbase/gbase_db/tmp] 提示符变为name: gbase=# \set PROMPT1 name name 提示符变为=: gbase=# \set PROMPT1 %R = |
| PROMPT2 | 在一个命令输入期待更多输入时(例如,查询没有用一个分号结束或者引号不完整)显示的提示符。 | 使用变量PROMPT2显示提示符: gbase=# \set PROMPT2 TEST gbase=# select * from public.area TEST; area_id |area_name ---------+------------------------ 1 | Europe 2 | Americas 4 | Middle East and Africa 3 | Asia (4 rows) |
| PROMPT3 | 当执行COPY命令,并期望在终端输入数据时(例如,COPY FROM STDIN),显示提示符。 | 使用变量PROMPT3显示COPY提示符: gbase=# \set PROMPT3 '>>>>' gbase=# copy public.area from STDIN; Enter data to be copied followed by a newline. End with a backslash and a period on a line by itself. >>>> |
提示符变量的值是按实际字符显示的。但是,当设置提示符的命令中出现“%”时,变量的值根据“%”后的字符,替换为已定义的内容,已定义的提示符请参见表2。
表2 已定义的替换
| 符号 | 符号说明 |
| %M | 主机的全名(包含域名),若连接是通过Unix域套接字进行的,则全名为[local],若Unix域套接字不是编译的缺省位置,就是[local:/dir/name]。 |
| %m | 主机名删去第一个点后面的部分。若通过Unix域套接字连接,则为[local]。 |
| %> | 主机正在侦听的端口号。 |
| %n | 数据库会话的用户名。 |
| %/ | 当前数据库名称。 |
| %~ | 类似%/,如果数据库是缺省数据库时输出的是波浪线~。 |
| %# | 如果会话用户是数据库系统管理员,使用#,否则用>。 |
| %R |
|
| %x | 事务状态:
|
| %digits | 指定字节值的字符将被替换到该位置。 |
| %:name | gsql变量“name”的值。 |
| %comma nd | command的输出,类似于使用“^”替换。 |
| %[ . . . %] | 提示可以包含终端控制字符,这些字符可以改变颜色、背景、提示文本的风格、终端窗口的标题。例如, gbase=# \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R %[%033[0m%]%#' 这个句式的结果是在VT100兼容的可显示彩色的终端上的一个宽体(1;)黑底黄字(33;40)。 |
热门帖子
- 12025-12-01浏览数:182762
- 22023-05-09浏览数:25056
- 42023-09-25浏览数:18525
- 52020-05-11浏览数:17528