PostgreSQL為表或檢視建立備註
阿新 • • 發佈:2018-11-10
1 為表和列建立備註
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 '數量欄位';
comment on constraint pk_test_objectid on test is '我是約束,唯一主鍵';
comment on constraint ck_test_num on test is '我是約束,num欄位必須小於123';
\dS+ test;
2 為檢視和列建立備註
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 '第三列備註,日期時間型別';
3 comment語法
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 [ , ... ]