Greenplum元数据信息

版权声明:本文为博主九师兄(QQ群:spark源代码 198279782 欢迎来探讨技术)原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21383435/article/details/81952292

1.元数据重要的表

  1. pg_database:所有的数据库信息
  2. pg_namespace:所有的schema信息
  3. pg_class :所有的表信息
  4. pg_attribute:所有的属性信息
  5. pg_proc : 函数信息,包括自定义函数

以上都可以以select * from xxxx;去查看

2.案例

新建一个数据库lcc_gp,新建一个表

CREATE TABLE table1 (
  f1 text,
  f2 numeric,
  f3 integer
) distributed by (f1);

插入一点数据

INSERT INTO table1 values 
 ('test1', 14.1, 3),
 ('test2', 52.5, 2),
 ('test3', 32.22, 6),
 ('test4', 12.1, 4) ;

查询某个表的字段的所有信息

select 
    pg_attribute.attrelid,pg_attribute.attname,pg_attribute.atttypid,
    pg_class.oid,pg_class.relname,
    pg_namespace.oid,pg_namespace.nspname,pg_namespace.nspowner,
    pg_database.datname
from pg_attribute
join pg_class     on pg_class.oid=pg_attribute.attrelid
join pg_namespace on pg_namespace.oid=pg_class.relnamespace
join pg_database  on pg_database.datdba=pg_namespace.nspowner
where 
    pg_class.relname='table1'
and datname='lcc_gp'
;

可以看到前3个是我们需要的数据(其他的是隐藏信息)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/81952292