有没有办法让Postgres告诉您除了/附近还有什么语法错误?

比尔·布劳(Bill Brower)

我已经尝试在postgresql.conf中将'log_min_error_statement'设置为debug5,但是在控制台和postgresql日志中,我仍然收到标准的“ PostgreSQL说:“ AS”或附近的语法错误“错误消息。

克雷格·林格(Craig Ringer)

如果PostgreSQL知道错误是什么,至少在大多数情况下,它会告诉您。

如果它仅显示“语法错误……或附近...”,则说明您的意思是不正确的,并且无法猜测出什么地方出了问题。这是一个解析错误。它可能会提供(很长的)建议列表,但这会使错误消息变得非常荒谬,例如:

postgres=# SELECT AS fred ORDER BY 1;
ERROR:  syntax error at or near "AS"
LINE 1: SELECT AS fred ORDER BY 1;

是的,这是语法错误,因为它在任何级别上都没有意义。它出什么问题了?您如何简洁地描述这一点?解析器如何分辨出什么问题?

postgres=# SELECT AS fred ORDER BY 1;
ERROR:  syntax error at or near "AS"
LINE 1: SELECT AS fred ORDER BY 1;
HINT: typo?
HINT: Did you use a reserved keyword as an identifier without "quoting" it? Like "AS"?
HINT: Did you leave out the value before the AS keyword?
HINT: ... endless possibilities ...

有时,解析器可以猜测出您可能做错了什么。PostgreSQL的解析器试图告诉您什么时候可以,例如

psql -c "SELECT 'openquote";
ERROR:  unterminated quoted string at or near "'openquote"
LINE 1: SELECT 'openquote

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

有没有办法告诉您特定修订版本是从哪个分支合并而来的?

除了自动收缩之外,还有没有办法使长字符串换行?

当我运行 try 和 except 时,有没有办法摆脱语法错误?

有没有办法告诉 GCC 参数的范围?

除了java.lang.Compiler之外,还有没有办法手动触发JIT

在excel中,除了VLOOKUP之外,还有没有办法为报告提取特定数据?

除了使用TM_FILENAME_BASE之外,还有没有办法修剪TM_FILENAME?

有没有办法告诉Visual Studio将警告视为警告而不是错误?

有没有办法告诉您是否正在从服务工作者那里获取缓存的数据?

有没有办法告诉为什么Maven依赖在特定版本

有没有办法告诉什么因素会导致IE 11兼容模式?

有没有办法告诉什么使Node.js程序保持活动状态?

有没有办法告诉方法它应该返回什么值类型?

有没有办法告诉StorageArea.remove是否实际上删除了某些东西?

有没有办法使您的功能“冷却”?

有没有办法为 Heroku PostgresSql 重写 Sqlite3 RoR 控制器语法?我的控制器出现语法错误

当您尝试打印变量时,有没有办法打印错误消息?

有没有办法使Postgres提交超时?

有没有办法保证段错误?

有没有办法消除我收到的错误?

有没有办法回到错误行并停止?

有没有办法使错误消息循环?

除了将宽大处理设置为false之外,还有没有办法获得严格的日期解析?

还有没有办法为GCM上传ios推送证书?

有没有办法从google api获取附近非政府组织的联系方式?

有没有办法在 body 标签附近包含 react-select 下拉列表

有没有办法检查某个值附近的值是否在字典的键中?

有没有办法在您的Rails应用程序中收集所有模型?

有没有办法告诉JVM在处理之前优化我的代码?