2

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

\dt 

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

"SELECT * FROM information_schema.tables WHERE table_schema = 'public';"  

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

Error: ERROR: syntax error at or near "\"
Position: 1
SQLState:  42601
ErrorCode: 0

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

谢谢,

4

1 回答 1

4

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

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

除了无法pg_dump在 PostgreSQL 协议会话中使用或从后端服务器获得等效功能外,这有点像常见问题解答。

在这一点上,唯一真正的选择是使用一个能够理解information_schemaPostgreSQL 目录 ( pg_catalog) 并且可以生成您想要的显示的客户端。一个流行的选择是 PgAdmin-III,尽管我坚持psql自己。

于 2014-01-27T09:28:33.603 回答