使用PostgreSQL為表或視圖創(chuàng)建備注的操作
1 為表和列創(chuàng)建備注
drop table if exists test; create table test( objectid serial not null, num integer not null, constraint pk_test_objectid primary key (objectid), constraint ck_test_num check(num < 123 ), ); comment on table test is '我是表'; comment on column test.objectid is '我是唯一主鍵'; comment on column test.num is '數(shù)量字段'; comment on constraint pk_test_objectid on test is '我是約束,唯一主鍵'; comment on constraint ck_test_num on test is '我是約束,num字段必須小于123'; \dS+ test;
2 為視圖和列創(chuàng)建備注
drop view if exists vtest; create or replace view vtest as select 1 as col1, 'a' as col2, now() as col3; comment on view vtest is '視圖備注'; comment on column vtest.col1 is '第一列備注,integer類型'; comment on column vtest.col2 is '第二列備注,字符類型'; comment on column vtest.col3 is '第三列備注,日期時(shí)間類型';
3 comment語(yǔ)法
COMMENT ON { ACCESS METHOD object_name | AGGREGATE aggregate_name ( aggregate_signature ) | CAST (source_type AS target_type) | COLLATION object_name | COLUMN relation_name.column_name | CONSTRAINT constraint_name ON table_name | CONSTRAINT constraint_name ON DOMAIN domain_name | CONVERSION object_name | DATABASE object_name | DOMAIN object_name | EXTENSION object_name | EVENT TRIGGER object_name | FOREIGN DATA WRAPPER object_name | FOREIGN TABLE object_name | FUNCTION function_name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] | INDEX object_name | LARGE OBJECT large_object_oid | MATERIALIZED VIEW object_name | OPERATOR operator_name (left_type, right_type) | OPERATOR CLASS object_name USING index_method | OPERATOR FAMILY object_name USING index_method | POLICY policy_name ON table_name | [ PROCEDURAL ] LANGUAGE object_name | PUBLICATION object_name | ROLE object_name | RULE rule_name ON table_name | SCHEMA object_name | SEQUENCE object_name | SERVER object_name | STATISTICS object_name | SUBSCRIPTION object_name | TABLE object_name | TABLESPACE object_name | TEXT SEARCH CONFIGURATION object_name | TEXT SEARCH DICTIONARY object_name | TEXT SEARCH PARSER object_name | TEXT SEARCH TEMPLATE object_name | TRANSFORM FOR type_name LANGUAGE lang_name | TRIGGER trigger_name ON table_name | TYPE object_name | VIEW object_name } IS 'text' where aggregate_signature is: * | [ argmode ] [ argname ] argtype [ , ... ] | [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
注意:SQL 標(biāo)準(zhǔn)中沒(méi)有COMMENT命令。
補(bǔ)充:postgre 查詢注釋_PostgreSQL查詢表以及字段的備注
查詢所有表名稱以及字段含義
select c.relname 表名,cast(obj_description(relfilenode,'pg_class') as varchar) 名稱,a.attname 字段,d.description 字段備注,concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '.∗')) as 列類型 from pg_class c,pg_attribute a,pg_type t,pg_description d where a.attnum>0 and a.attrelid=c.oid and a.atttypid=t.oid and d.objoid=a.attrelid and d.objsubid=a.attnum and c.relname in (select tablename from pg_tables where schemaname='public' and position('_2' in tablename)=0) order by c.relname,a.attnum
查看所有表名
select tablename from pg_tables where schemaname='public' and position('_2' in tablename)=0; select * from pg_tables;
查看表名和備注
select relname as tabname,cast(obj_description(relfilenode,'pg_class') as varchar) as comment from pg_class c where relname in (select tablename from pg_tables where schemaname='public' and position('_2' in tablename)=0); select * from pg_class;
查看特定表名備注
select relname as tabname, cast(obj_description(relfilenode,'pg_class') as varchar) as comment from pg_class c where relname ='表名';
查看特定表名字段
select a.attnum,a.attname,concat_ws('',t.typname,SUBSTRING(format_type(a.atttypid,a.atttypmod) from '.∗')) as type,d.description from pg_class c,pg_attribute a,pg_type t,pg_description d where c.relname='表名' and a.attnum>0 and a.attrelid=c.oid and a.atttypid=t.oid and d.objoid=a.attrelid and d.objsubid=a.attnum;
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
PostgreSQL如何查詢表大小(單獨(dú)查詢和批量查詢)
PostgreSQL提供了多個(gè)系統(tǒng)管理函數(shù)來(lái)查看表,索引表空間及數(shù)據(jù)庫(kù)的大小,這篇文章主要給大家介紹了關(guān)于PostgreSQL如何查詢表大小的相關(guān)資料,文中介紹的方法包括單獨(dú)查詢和批量查詢,需要的朋友可以參考下2024-02-02PostgreSQL 設(shè)置允許訪問(wèn)IP的操作
這篇文章主要介紹了PostgreSQL 設(shè)置允許訪問(wèn)IP的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12postgresql的now()與Oracle的sysdate區(qū)別說(shuō)明
這篇文章主要介紹了postgresql的now()與Oracle的sysdate區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12pgsql 實(shí)現(xiàn)用戶自定義表結(jié)構(gòu)信息獲取
這篇文章主要介紹了pgsql 實(shí)現(xiàn)用戶自定義表結(jié)構(gòu)信息獲取,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSQL用戶、數(shù)據(jù)庫(kù)及表的管理、操作與授權(quán)方式
這篇文章主要介紹了PostgreSQL用戶、數(shù)據(jù)庫(kù)及表的管理、操作與授權(quán)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法
這篇文章主要介紹了在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03PostgreSQL中json數(shù)據(jù)類型詳解
json數(shù)據(jù)也可以被存儲(chǔ)為text,但是 與text數(shù)據(jù)類型相比,JSON 數(shù)據(jù)類型的優(yōu)勢(shì)在于能強(qiáng)制要求每個(gè)被存儲(chǔ)的值符合 JSON 規(guī)則,這篇文章主要介紹了PostgreSQL中json數(shù)據(jù)類型,需要的朋友可以參考下2023-04-04