Postgres Schema information_schema pg_catalog

本文探讨了Postgres数据库中的两个关键系统Schema:information_schema和pg_catalog。information_schema提供视图以查看表、视图和函数信息,而pg_catalog作为系统Schema,包含系统函数和数据类型定义,对Postgres的正常运行至关重要。利用information_schema.tables和information_schema.columns可便捷获取表和字段详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天讨论Postgres中两个重要的系统Schema:information_schema与pg_catalog

首先,我们通过查看pg_catalog.pg_namespace来查看当前数据库中全部的Schema

qingping=> select oid,* from pg_catalog.pg_namespace;
  oid  |      nspname       | nspowner |         nspacl          
-------+--------------------+----------+-------------------------
    99 | pg_toast           |       10 | 
 11736 | pg_temp_1          |       10 | 
 11737 | pg_toast_temp_1    |       10 | 
    11 | pg_catalog         |       10 | {root=UC/root,=U/root}
  2200 | public             |       10 | {root=UC/root,=UC/root}
 12921 | information_schema |       10 | {root=UC/root,=U/root}
 16386 | qingping           |    16384 | 
 16396 | yaron              |    16390 | 
(8 rows)

今天重点分析Postgres数据库中最为常用的两个系统Schema:information_schema和pg_catalog。
其中information_schema是方便用户查看表/视图/函数信息提供的,它大多是视图,MySQL,SQL Server同样有information_schema这个schema。
pg_catalog是系统Schema,包含了系统的自带函数/数据类型定义等,pg_catalog是保障postgres正常运转的重要基石。

-- 查看information_schema提供的视图和表
qingping=> select relname, relkind from pg_catalog.pg_class where relnamespace=12921 order by 1;
                relname                | relkind 
---------------------------------------+---------
 _pg_foreign_data_wrappers             | v
 _pg_foreign_servers                   | v
 _pg_foreign_table_colum
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值