如何使用Sequel运行Postgres psql“ slash”命令

机器人机器人

使用续集,是有可能运行PostgreSQL“斜线”命令,例如\d\dn\copy table...

我尝试使用

DB.run(‘\dn’)

但出现语法错误,因为大概是Sequel试图解析SQL,或者Postgres无法理解SQL,因为这些是由psql应用程序处理的命令

亩太短

斜杠命令是psql服务器的功能,而不是服务器的功能,因此只能在中访问psql但是,其中一些(例如\copy)具有服务器确实理解的等效项,其余的则是查询系统表的快捷方式。如果您运行psql -E

-E
--echo-hidden
回显由\d和其他反斜杠命令生成的实际查询您可以使用它来研究psql的内部操作。这等效于将变量设置ECHO_HIDDEN为on。

那么您可以看到查询,并且应该可以将这些查询与DB.run一起使用DB.fetch(...).all例如:

$ psql -E -d...
=# \d
********* QUERY **********
SELECT n.nspname as "Schema",
  c.relname as "Name",
  CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'table' WHEN 'I' THEN 'index' END as "Type",
  pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','p','v','m','S','f','')
      AND n.nspname <> 'pg_catalog'
      AND n.nspname <> 'information_schema'
      AND n.nspname !~ '^pg_toast'
  AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
=# \dt
********* QUERY **********
SELECT n.nspname as "Schema",
  c.relname as "Name",
  CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' WHEN 'f' THEN 'foreign table' WHEN 'p' THEN 'table' WHEN 'I' THEN 'index' END as "Type",
  pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','p','')
      AND n.nspname <> 'pg_catalog'
      AND n.nspname <> 'information_schema'
      AND n.nspname !~ '^pg_toast'
  AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Docker-如何在postgres容器中运行psql命令?

来自分类Dev

如何使用PSQL客户端运行多个命令

来自分类Dev

为什么我不能运行“ psql”命令?

来自分类Dev

如何启动psql命令行?

来自分类Dev

如何启动psql命令行?

来自分类Dev

Postgres-如何使用psql通过-c命令和密码验证来创建数据库?

来自分类Dev

如何使用MacPorts在OS X上安装Postgres命令行客户端(psql)?

来自分类Dev

如何从bash shell使用psql命令执行多个查询?

来自分类Dev

Postgres“ psql无法识别为内部或外部命令”

来自分类Dev

PSQL:如何阻止命令行上的任何输出?

来自分类Dev

如何从命令行浏览django psql后端

来自分类Dev

使用DO块内部的psql元命令设置的变量

来自分类Dev

使用Java exec的额外psql命令行参数

来自分类Dev

我想在psql中使用alter命令添加约束

来自分类Dev

无法使用带有docker exec的psql命令行从文件运行查询

来自分类Dev

如何在不使用docker exec -it <image> psql -h localhost -U postgres的情况下,在容器外部使用秘密在Docker中通过命令行登录Postgres?

来自分类Dev

如何使用phppgadmin或psql运行.sql文件

来自分类Dev

postgres psql脚本路径

来自分类常见问题

psql:找不到命令Mac

来自分类Dev

Shell脚本执行psql命令

来自分类Dev

如何进入正在运行的postgres容器的psql?

来自分类Dev

Mac上的Postgres-psql自动运行

来自分类Dev

在PSQL中使用参数

来自分类Dev

无法从本地python脚本在远程服务器上运行psql命令

来自分类Dev

如何使用psql解决此问题?| psql:错误:致命:角色“ postgres”不存在

来自分类Dev

如何在psql的命令行查询中转义单引号?

来自分类Dev

如何在bash脚本中将长psql命令拆分成几行

来自分类Dev

执行 psql/mysql CLI 命令行后如何获取查询 ID?

来自分类Dev

如何在 bash 中转义 3 级(su 命令,psql,然后查询)

Related 相关文章

  1. 1

    Docker-如何在postgres容器中运行psql命令?

  2. 2

    如何使用PSQL客户端运行多个命令

  3. 3

    为什么我不能运行“ psql”命令?

  4. 4

    如何启动psql命令行?

  5. 5

    如何启动psql命令行?

  6. 6

    Postgres-如何使用psql通过-c命令和密码验证来创建数据库?

  7. 7

    如何使用MacPorts在OS X上安装Postgres命令行客户端(psql)?

  8. 8

    如何从bash shell使用psql命令执行多个查询?

  9. 9

    Postgres“ psql无法识别为内部或外部命令”

  10. 10

    PSQL:如何阻止命令行上的任何输出?

  11. 11

    如何从命令行浏览django psql后端

  12. 12

    使用DO块内部的psql元命令设置的变量

  13. 13

    使用Java exec的额外psql命令行参数

  14. 14

    我想在psql中使用alter命令添加约束

  15. 15

    无法使用带有docker exec的psql命令行从文件运行查询

  16. 16

    如何在不使用docker exec -it <image> psql -h localhost -U postgres的情况下,在容器外部使用秘密在Docker中通过命令行登录Postgres?

  17. 17

    如何使用phppgadmin或psql运行.sql文件

  18. 18

    postgres psql脚本路径

  19. 19

    psql:找不到命令Mac

  20. 20

    Shell脚本执行psql命令

  21. 21

    如何进入正在运行的postgres容器的psql?

  22. 22

    Mac上的Postgres-psql自动运行

  23. 23

    在PSQL中使用参数

  24. 24

    无法从本地python脚本在远程服务器上运行psql命令

  25. 25

    如何使用psql解决此问题?| psql:错误:致命:角色“ postgres”不存在

  26. 26

    如何在psql的命令行查询中转义单引号?

  27. 27

    如何在bash脚本中将长psql命令拆分成几行

  28. 28

    执行 psql/mysql CLI 命令行后如何获取查询 ID?

  29. 29

    如何在 bash 中转义 3 级(su 命令,psql,然后查询)

热门标签

归档