参考文档 http://www.glphp.com/statics/api/postgresql/files/sql-comment.html
GP的comment信息都是存储在pg_description里面的。可以为每个数据库对象保存一个备注信息。 COMMENT命令可以增删改某个对象的备注。 增加修改都使用这个命令,
COMMENT ON ROLE myname IS 'this is comment';
COMMENT ON TABLESPACE myname IS 'this is comment'; COMMENT ON DATABASE myname IS 'this is comment'; COMMENT ON SCHEMA myname IS 'this is comment'; COMMENT ON TABLE myname IS 'this is comment'; COMMENT ON COLUMN myname IS 'this is comment'; COMMENT ON VIEW myname IS 'this is comment';
删除可以通过把 IS 后面的值写为 null。
如:
comment on database myname is null;
Name | Return Type | Description |
---|---|---|
col_description(table_oid, column_number) | text | get comment for a table column(表的列) |
obj_description(object_oid, catalog_name) | text | get comment for a database object(数据库中的对象) |
shobj_description(object_oid, catalog_name) | text | get comment for a shared database object(集群级别的对象) |
查询数据库备注
testdb=# select datname, shobj_description(d.oid,'pg_database')
from pg_database d;
datname | shobj_description
-----------+---------------------------
template1 | default template database
template0 |
postgres | testdb3 | testdb2 | tesila | testdb | testdb13 | testdb14 | this is testdb143 (9 rows)
查询模式备注
select nspname, obj_description(d.oid,'pg_namespace')
from pg_namespace d;
nspname | obj_description
--------------------+-------------------------------------------------------------
pg_catalog | system catalog schema
pg_toast | reserved schema for TOAST tables
pg_bitmapindex | Reserved schema for internal relations of bitmap indexes
public | standard public schema pg_aoseg | Reserved schema for Append Only segment list and eof tables guagua | guagua wangwang pg_toast_temp_1 | information_schema | pg_toast_temp_44 | gp_toolkit | tu1schema | (11 rows)
查询表的备注信息
创建了两个表。guagua.table1,guagua.table2 ,给table2设置了备注信息。
查找模式guagua下的所有的表的备注
select relname,obj_description(c.oid,'pg_class') from pg_class c where relnamespace=(select oid from pg_namespace where nspname='guagua'); relname | obj_description ---------+----------------- table1 | table2 | this is table2 (2 rows)
查询字段的备注信息
select b.attname as columnname,coalesce(a.description,'') as comment from pg_description a,pg_attribute b where a.objoid='table3'::regclass and a.objoid=b.attrelid and a.objsubid=b.attnum;
查询视图的备注信息