postgresql - 为什么有些 psql 行在数据库名称后有 (# 或 '#?
问题描述
我在 Mac 的命令行中使用 psql。通常,当我键入命令时,开头的行显示为database_name=#
. 我用 a 终止命令;
,效果很好。
有时,当我编写命令(已从我正在阅读的教科书中复制和粘贴)时,我最终会得到以下开头的行之一:
postgis_in_action(#
postgis_in_action'#
请问(
和是什么'
意思?我如何逃脱它们以恢复“正常”?
解决方案
当您键入一个多行查询并且有一些起始和结束括号(例如())时,起始行将更改以让用户知道他已经开始了一个需要关闭的括号。
见下面的例子:
node1=# select
node1-# *
node1-# from
node1-# dept
node1-# where
node1-# deptno=
node1-# 1 and loc in
node1-# (
node1(# 'isb'
node1(# )
node1-# ;
deptno | dname | loc
--------+-------+-----
(0 rows)
node1=#
如果用户以某种方式忘记关闭方括号,则开始行将显示 database_name(#
即使是缺少一些括号的单行查询也会导致相同的开头行。
node1=# select * from dept where deptno=1 and loc in ('isb';
节点1(#
要使开头行正常,您必须完成查询或只需按CTRL+C键。
披露:我为EnterpriseDB (EDB)工作
推荐阅读
- c - 如何替换此 GOTO 语句,以便清楚
- excel - 在复制粘贴到另一个工作表时停止闪烁/重构 Excel ScreenUpdating false 的代码
- scala - 运行服务器后播放应用程序意外异常
- hdfs - 无法将推特数据存储在水槽中
- android - 如何将 MaterialSearchView 中的第一个字母大写?
- php - 问题 xcode 没有工作 xcode/MAMP/PhpStorm/Mac
- node.js - 如何在 express 中创建全局会话变量
- c++ - “while”/“for”循环的替代方案是什么
- excel - 对带有 JSON 正文的 API 的 VBA HTTP 请求返回空数组(Excel 中的 MSXML2.XMLHTTP)
- android - 我使用什么意图进行 Firebase 电子邮件验证