将 squirrel sql 与 postgresql 一起使用:反斜杠语法错误?

van*_*1ty 2 postgresql squirrel-sql

我正在尝试运行基本的 postgresql 命令,这些命令在 Squirrel SQL sql 客户端中以反斜杠开头。例如,我希望能够输入

\dt 
Run Code Online (Sandbox Code Playgroud)

意思是“显示表格”而不是

"SELECT * FROM information_schema.tables WHERE table_schema = 'public';"  
Run Code Online (Sandbox Code Playgroud)

这可以通过 psql 命令行进行。但是,当我尝试在 Squirrel 中运行“\dt”时,我收到一条语法错误消息:

Error: ERROR: syntax error at or near "\"
Position: 1
SQLState:  42601
ErrorCode: 0
Run Code Online (Sandbox Code Playgroud)

我假设 Squirrel 正在进行某种 SQL 语法检查?有谁知道一种方法可以使以反斜杠开头的 PostgreSQL 命令在 Squirrel SQL 中工作?我安装了 Postgres 插件...

谢谢,

Cra*_*ger 5

反斜杠命令是psql客户端的一部分,而不是 PostgreSQL 后端服务器的一部分。psql将它们转换为 SQL 批次(您可以通过使用psql-E标志运行来查看这些 SQL 批次),并使用结果来生成显示的输出。

这意味着您无法从其他客户端使用这些命令。

除了无法在 PostgreSQL 协议会话中使用pg_dump或从后端服务器获取等效功能之外,这也是一个常见问题解答。

此时,唯一真正的选择是使用能够理解information_schemaPostgreSQL 目录 ( pg_catalog) 并能够生成您想要的显示内容的客户端。一个流行的选择是 PgAdmin-III,但我坚持psql自己的选择。