Updated on 2024-05-07 GMT+08:00

CREATE RESOURCE LABEL

Function

CREATE RESOURCE LABEL creates a resource label.

Precautions

Only user with the POLADMIN or SYSADMIN permission, or the initial user can perform this operation.

Syntax

1
CREATE RESOURCE LABEL [IF NOT EXISTS] label_name ADD label_item_list[, ...];
  • label_item_list
    1
    resource_type(resource_path[, ...])
    
  • resource_type
    { TABLE | COLUMN | SCHEMA | VIEW | FUNCTION }

Parameter Description

  • IF NOT EXISTS

    If a resource label with the same name already exists, no error is generated. Instead, a message is displayed, indicating that the resource label already exists.

  • label_name

    Specifies the resource label name, which must be unique.

    Value range: a string. It must comply with the naming convention.

  • resource_type

    Specifies the type of database resources to be labeled.

    Value range: TABLE, COLUMN, SCHEMA, VIEW, and FUNCTION.

  • resource_path

    Specifies the path of database resources.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
-- Create table tb_for_label.
gaussdb=# CREATE TABLE tb_for_label(col1 text, col2 text, col3 text);

-- Create schema schema_for_label.
gaussdb=# CREATE SCHEMA schema_for_label;

-- Create view view_for_label.
gaussdb=# CREATE VIEW view_for_label AS SELECT 1;

-- Create function func_for_label.
gaussdb=# CREATE FUNCTION func_for_label RETURNS TEXT AS $$ SELECT col1 FROM tb_for_label; $$ LANGUAGE SQL;

-- Create a resource label based on a table.
gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS table_label add TABLE(public.tb_for_label);

-- Create a resource label based on columns.
gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS column_label add COLUMN(public.tb_for_label.col1);

-- Create a resource label based on a schema.
gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS schema_label add SCHEMA(schema_for_label);

-- Create a resource label based on a view.
gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS view_label add VIEW(view_for_label);

-- Create a resource label based on a function.
gaussdb=# CREATE RESOURCE LABEL IF NOT EXISTS func_label add FUNCTION(func_for_label);

-- Delete a resource label.
gaussdb=# DROP RESOURCE LABEL func_label, view_label, schema_label, column_label, table_label;

-- Delete the func_for_label function.
gaussdb=# DROP FUNCTION func_for_label;

-- Delete the view_for_label view.
gaussdb=# DROP VIEW view_for_label;

-- Delete the schema_for_label schema.
gaussdb=# DROP SCHEMA schema_for_label;

-- Delete the tb_for_label table.
gaussdb=# DROP TABLE tb_for_label;