**information_schema
** 是一个包含标准视图的特殊模式,这些视图包含有关当前数据库中定义的对象的信息。
information_schema
在 PostgreSQL 7.4 中添加。
用法
information_schema
提供了一种主要符合 SQL 标准的方式来访问有关 PostgreSQL 数据库对象元数据的信息,这些信息应该在主要版本之间保持稳定。这提供了一个比通过 PostgreSQL 的 系统目录 表和视图可用的接口更稳定的接口,但它不包含有关 PostgreSQL 特定功能的信息。
更改历史记录
正在开发中
- PostgreSQL 17
domain_default
列从element_types
视图中移除 (提交 78806a95)
- PostgreSQL 16
- 更新为支持 SQL:2023 (提交 f275af8c)
- PostgreSQL 14
- 添加例程使用表作为占位符 (提交 f40c6969)
- PostgreSQL 12
- PostgreSQL 9.4
- PostgreSQL 9.2
- PostgreSQL 9.0
- 添加函数
aclexplode()
以加快信息模式视图的速度 (提交 36f887c4)
- 添加函数
- PostgreSQL 8.2
- 支持 SQL:2003 (提交 f7ae9004)
- PostgreSQL 8.0
- 在
information_schema.parameters
中支持命名参数 (提交 9d888807)
- 在
- PostgreSQL 7.4
- 添加 (初始提交 1b42ad7e)
示例
由 information_schema.tables
视图公开的关于表的基元数据
postgres=# CREATE TABLE foo (id int); CREATE TABLE postgres=# SELECT * FROM information_schema.tables WHERE table_name='foo'; -[ RECORD 1 ]----------------+----------- table_catalog | postgres table_schema | public table_name | foo table_type | BASE TABLE self_referencing_column_name | reference_generation | user_defined_type_catalog | user_defined_type_schema | user_defined_type_name | is_insertable_into | YES is_typed | NO commit_action |
参考文献
- PostgreSQL 文档: 信息模式