Postgres 中的 pg_class 是啥以及如何使用 pgAdmin 4 查看它?
Posted
技术标签:
【中文标题】Postgres 中的 pg_class 是啥以及如何使用 pgAdmin 4 查看它?【英文标题】:What is pg_class in Postgres and how to see it using pgAdmin 4?Postgres 中的 pg_class 是什么以及如何使用 pgAdmin 4 查看它? 【发布时间】:2018-12-13 07:11:47 【问题描述】:我是 Postgresql 的新手,我刚刚看到我的朋友在一个名为“pq_class”的 cakephp 控制器上进行查询。我试图查看我的 PostgreSQL 数据库并使用 pgAgmin4 找出里面的内容。
不幸的是,我看不到任何带有“pg_class”的表名。我试图用谷歌搜索并找到这些页面:
https://www.postgresql.org/docs/current/catalog-pg-class.html
postgreSQL - pg_class question
但我仍然对pg_class
感到困惑。是否有关于 pg_class 的任何好的或真实的解释以及如何在不使用任何查询的情况下使用 pgAdmin4 来查看它(只需右键单击 -> 查看数据)
【问题讨论】:
第一个链接中的描述不清楚的地方:“pg_class 对表和大多数其他具有列或与表相似的所有内容进行编目。” 好的或真实的解释你可以在文档中看到的所有postgresql源代码。如果你不明白,请仔细阅读文档并再次进行研究。 @a_horse_with_no_name,那里的目录是什么意思?为什么需要对表进行编目?对不起,我的背景是mysql,所以无法想象pg_class。谢谢 @dwir182 当然,谢谢 "目录表" = "存储有关表的信息" 【参考方案1】:pg_class
是一个内部系统表,用于存储有关数据库中可用表(和类似对象)的信息。每个数据库产品都有它维护的 collection of system tables(和视图)。
如果您想查看有关表、列、视图和其他数据库对象的信息,您可以(并且在大多数情况下应该)使用来自information_schema
的视图。
【讨论】:
【参考方案2】:您可以像这样从 pgadmin 上的 information_schema 获取详细信息。
` SELECT * FROM information_schema.columns;
从 information_schema.tables 中选择 * `
【讨论】:
以上是关于Postgres 中的 pg_class 是啥以及如何使用 pgAdmin 4 查看它?的主要内容,如果未能解决你的问题,请参考以下文章