博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
postgres的\d命令不显示全部的用户表
阅读量:6367 次
发布时间:2019-06-23

本文共 1502 字,大约阅读时间需要 5 分钟。

hot3.png

如下示例,在数据库不同schema下有同名表t2 ,但是使用\d命令的时候只有一个t2表被查询出来。

postgres=# select oid,nspname from pg_namespace;   oid  |      nspname       -------+--------------------    99 | pg_toast 11736 | pg_temp_1 11737 | pg_toast_temp_1    11 | pg_catalog  2200 | public 12920 | information_schema 16384 | postgres 16391 | lichuancheng(8 rows)postgres=# select relname,relnamespace from pg_class where relname  = 't2'; relname | relnamespace ---------+-------------- t2      |         2200 t2      |        16391(2 rows)postgres=# \d             List of relations    Schema    | Name | Type  |    Owner     --------------+------+-------+-------------- lichuancheng | t2   | table | lichuancheng(1 row)postgres=#

经过调查发现,执行\d命令后,客户端程序将\d命令转化为如下sql(pg10)

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' 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);

其中有一个查询条件'AND pg_catalog.pg_table_is_visible(c.oid)',就是将另外一个t2表忽略的筛选条件

结论:\d命令不显示所有的关系。它只显示当前不使用schema修饰就直接可以获取的关系。

转载于:https://my.oschina.net/lcc1990/blog/2873574

你可能感兴趣的文章
Memcached 基础笔记
查看>>
[Leetcode] Inorder Successor in BST 二叉搜索树中序遍历找后继
查看>>
php设计模式之实现单例模式(singleton)
查看>>
[LintCode] Largest Rectangle in Histogram
查看>>
DevSecOps 简介(一)
查看>>
理解JS构造函数继承
查看>>
python遗传算法(GA)DEAP-Overview学习摘要
查看>>
直接插入排序
查看>>
高流量网站如何做出高性能?
查看>>
[Translate] CockroachDB: 创建安全证书
查看>>
fir.im Weekly - iOS开发中的Git流程
查看>>
scope in Angularjs
查看>>
强大的strtotime函数
查看>>
阿里获邀加入 JCP ,参与制定 Java 全球标准和技术规范
查看>>
HexoClient 1.2.6 发布,支持 hexo front-matter 特性
查看>>
翻译 Meteor React 制作 Todos - 08 - 模板UI的状态
查看>>
Jsp-九大内置对象
查看>>
两大核心能力助力,中小险企破局生态建设——保险生态建设 ...
查看>>
中国数字支付战况:B端业务异军突起,C端流量让位场景 ...
查看>>
理解神经网络:从神经元到RNN、CNN、深度学习
查看>>