PostgreSQL:如何显示元子命令的 SQL 脚本?

PostgreSQL 提供以反斜线 / 打头的命令,可以方便地列出数据库信息,反斜线命令也可翻译为元子命令 (meta command)。

例一: 显示表空间列表

1
2
3
4
5
6
7
8
9
10
11
postgres=# /db  
List of tablespaces
Name | Owner | Location
-------------------+----------+-------------------------------------------
pg_default | postgres |
pg_global | postgres |
tbs_cac_charge | postgres | /opt/pgdata/pg94/pg_tbs/tbs_cac_charge
tbs_francs | postgres | /opt/pgdata/pg94/pg_tbs/tbs_francs
tbs_norland | postgres | /opt/pgdata/pg94/pg_tbs/tbs_norland
tbs_skypcsuit_log | postgres | /opt/pgdata/pg94/pg_tbs/tbs_skypcsuit_log
(6 rows)

例二: 显示 Table 列表

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
francs=> /dt  
List of relations
Schema | Name | Type | Owner
--------+----------------------------+-------+--------
francs | db_list | table | francs
francs | net_list | table | francs
francs | tbl_log_pc_app_bag_install | table | francs
francs | tbl_store | table | francs
francs | test_1 | table | francs
francs | test_2 | table | francs
francs | test_cha | table | francs
francs | test_search1 | table | francs
francs | user1 | table | francs
francs | users_normal | table | francs
(10 rows)

备注: 反斜线 命令可以显示数据库表,索引,序列等多项信息,不一一举例,那么反斜线命令底层调用的是哪些 SQL 脚本呢?可以通过以下方法得到。

获取元子命令的 SQL 脚本

psql 使用 -E 选项可以获取元子命令的 SQL 脚本,如下:

PostgreSQL:如何显示元子命令的 SQL 脚本?

备注: psql 的 -E 参数显示出了 “/db” 元子命令的 SQL 脚本,如有兴趣研究各种反斜线命令脚本,那么对 PostgreSQL 系统表,视图的熟悉会更进一步。尽管这篇 blog 仅列出一项简单功能,方便有需要的朋友查阅。

参考

1
2
3
4
-E  
--echo-hidden

Echo the actual queries generated by d and other backslash commands. You can use this to study psql's internal operations. This is equivalent to setting the variable ECHO_HIDDEN from within psql.

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/239619.html

(0)
上一篇 2022年2月12日
下一篇 2022年2月12日

相关推荐

发表回复

登录后才能评论