postgresql - information_schema.tables 和 pg_tables 之间的区别
问题描述
Postgres 数据库中的 information_schema.tables 和 pg_tables 表有什么区别?pg_tables 输出中的表数量较少,但从系统角度来看,这 2 个表的结果是什么?
解决方案
INFORMATION_SCHEMA 中的视图由 SQL 标准定义并显示该标准所需的信息。所以他们不能显示任何不符合 SQL 标准规则的 Postgres 特定信息。因此,使用它的查询可能也适用于支持 INFORMATION_SCHEMA 的其他 DBMS 产品,但并非所有产品都 100% 正确实现它。Postgres 也有一些偏离 INFORMATION_SCHEMA 规范的地方。但是相似之处非常接近,因此很容易移植和使用这样的查询与不同的数据库。
模式中的所有系统表和视图pg_catalog
(包括pg_tables
)完全是 Postgres 特定的。使用这些的查询永远不会在其他 DBMS 产品上运行。INFORMATION_SCHEMA 视图使用这些系统视图和表来收集和呈现 SQL 标准要求的元数据。
推荐阅读
- javascript - 登录或注册后显示一次模式
- package - 使用旧包 GenABEL
- r - ggplot2 将文本设置在所有类别通用的固定位置
- bash - Bash 求幂限制
- elasticsearch - 带有 ElasticsearchSinkConnector 的 Kafka - 是否可以在连接器中定义数据映射?
- c# - 使用 MediaComposition 和 IBasicVideoEffect 从视频文件中获取帧
- php - 为什么 php 舍入这个数字?
- javascript - 谷歌表没有收到表单提交
- javascript - 什么时候 throw(error) 和 return(value) 在 javascript 迭代器中有用?
- database - SSH 隧道到 Sequelize PostgreSQL 数据库