PostgreSQL psql中如何查看快捷功能的对应函数

在psql中,我们可以通过一系列的的快捷命令查看数据库元素,如:\d 查看当前搜索路径下的表,那么内部用到的SQL语句是什么呢,可以通过命令来设置是否打印出来:

apple=# \set ECHO_HIDDEN on
apple=# \c mydb
You are now connected to database “mydb” as user “apple”.
mydb=# \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’ 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’,‘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;


              List of relations

Schema | Name | Type | Owner
--------±----------------±--------------±---------
public | employees | table | postgres
public | indent | table | apple
public | indent_id_seq | sequence | apple
public | student | table | postgres
public | table_new | table | postgres
public | test1 | table | apple
public | test_cur | table | postgres
public | test_from_apple | foreign table | apple
public | test_id_seq | sequence | apple
public | test_time | table | apple
public | test_type | table | apple
(11 rows)

mydb=# \set ECHO_HIDDEN off
mydb=# \d
List of relations
Schema | Name | Type | Owner
--------±----------------±--------------±---------
public | employees | table | postgres
public | indent | table | apple
public | indent_id_seq | sequence | apple
public | student | table | postgres
public | table_new | table | postgres
public | test1 | table | apple
public | test_cur | table | postgres
public | test_from_apple | foreign table | apple
public | test_id_seq | sequence | apple
public | test_time | table | apple
public | test_type | table | apple
(11 rows)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值