2024年4月28日发(作者:)

pg_information_schema 表结构

在 PostgreSQL 数据库中,pg_information_schema 是一个特殊的 schema,它提供了有关数

据库、表、列等对象的信息。通过查询 pg_information_schema,您可以了解数据库的元数

据,例如表的结构、列的数据类型、约束等。

以下是 pg_information_schema 中的一些重要表及其描述:

1. tables - 包含有关数据库中所有表的信息。

table_name: 表名

table_type: 表类型(例如 BASE TABLE、VIEW 等)

is_insertable_into: 表示表是否可以被插入数据(值为 'YES' 或 'NO')

is_typed: 表示表是否有特定的数据类型(值为 'YES' 或 'NO')

2. columns - 包含有关表中的列的信息。

table_name: 表名

column_name: 列名

data_type: 列的数据类型(例如 VARCHAR, INTEGER 等)

character_maximum_length: 对于字符类型,此列指定最大长度

numeric_precision: 对于数值类型,此列指定精度

is_nullable: 表示列是否可以为 NULL(值为 'YES' 或 'NO')

3. primary_keys - 包含有关主键约束的信息。

table_name: 表名

constraint_name: 主键约束的名称

column_name: 主键列的名称

4. foreign_keys - 包含有关外键约束的信息。

table_name: 表名

constraint_name: 外键约束的名称

column_name: 外键列的名称

references_table: 引用的表名

references_column: 引用的列名

5. views - 包含有关数据库中的视图的信息。

view_name: 视图名称

definition: 视图的定义(即 SQL 查询语句)

6. sequences - 包含有关序列对象的信息。

sequence_name: 序列名称

start_value: 序列的起始值

current_value: 序列的当前值

increment: 序列的增量值

7. schemas - 包含有关数据库 schema 的信息。

schema_name: schema 名称

schema_owner: schema 的所有者用户名