Information Schema 中的表存储了关于数据库的元数据信息,这些表通常以 information_schema 作为表的命名空间。以下是一些常见的 Information Schema 表:
1. information_schema.tables: 包含了关于数据库中所有表的信息,如表的名称、所属的模式、类型等。
2. information_schema.columns: 存储了表的列信息,包括列名、数据类型、是否为主键等。
3. information_schema.schemata: 包含了所有模式(Schema)的信息,如模式的名称、所属的数据库等。
4. information_schema.views: 包含了关于所有视图的信息,如视图的名称、定义等。
5. information_schema.columns: 存储了数据库中所有列的信息,包括列名、数据类型、是否为主键等。
使用 Information Schema 可以执行标准的 SQL 查询,以获取关于数据库对象的信息。例如,以下是一个查询,用于获取数据库中所有表的名称:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public';
在上述查询中,information_schema.tables 表用于获取关于数据库中所有表的信息,通过过滤条件 table_schema = 'public',只选择了位于 public 模式下的表。
使用 Information Schema 有助于编写与数据库系统无关的查询,因为它提供了一种标准的、与特定数据库系统无关的查询接口。然而,在某些情况下,直接访问系统表(如 pg_tables、pg_columns)可能更为直观和高效。
转载请注明出处:http://www.zyzy.cn/article/detail/8420/PostgreSQL