华为云用户手册

  • 参数说明 target_role 已有角色的名称。如果省略FOR ROLE/USER,则缺省值为当前角色/用户。 target_role必须有schema_name的CREATE权限。查看角色/用户是否具有schema的CREATE权限可使用has_schema_privilege函数。 1 SELECT a.rolname, n.nspname FROM pg_authid as a, pg_namespace as n WHERE has_schema_privilege(a.oid, n.oid, 'CREATE'); 取值范围:已有角色的名称。 schema_name 现有模式的名称。 如果指定了模式名,那么之后在这个模式下面创建的所有对象默认的权限都会被修改。如果IN SCHEMA被省略,那么全局权限会被修改。 取值范围:现有模式的名称。 role_name 被授予或者取消权限角色的名称。 取值范围:已存在的角色名称。 如果想删除一个被赋予了默认权限的角色,必须撤销其默认权限的更改或者使用DROP OWNED BY删除该角色的默认权限记录。
  • 语法格式 1 2 3 4 ALTER DEFAULT PRIVILEGES [ FOR { ROLE | USER } target_role [, ...] ] [ IN SCHEMA schema_name [, ...] ] abbreviated_grant_or_revoke; 其中abbreviated_grant_or_revoke子句用于指定对哪些对象进行授权或回收权限。 1 2 3 4 5 6 7 8 grant_on_tables_clause | grant_on_functions_clause | grant_on_types_clause | grant_on_sequences_clause | revoke_on_tables_clause | revoke_on_functions_clause | revoke_on_types_clause | revoke_on_sequences_clause 其中grant_on_tables_clause子句用于对表授权。 1 2 3 4 5 GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | ANALYZE | ANALYSE | VACUUM | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON TABLES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_functions_clause子句用于对函数授权。 1 2 3 4 GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_types_clause子句用于对类型授权。 1 2 3 4 GRANT { USAGE | ALL [ PRIVILEGES ] } ON TYPES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中grant_on_sequences_clause子句用于对序列授权。 1 2 3 4 5 GRANT { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES TO { [ GROUP ] role_name | PUBLIC } [, ...] [ WITH GRANT OPTION ] 其中revoke_on_tables_clause子句用于回收表对象的权限。 1 2 3 4 5 6 REVOKE [ GRANT OPTION FOR ] { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | ANALYZE | ANALYSE | VACUUM | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON TABLES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_functions_clause子句用于回收函数的权限。 1 2 3 4 5 REVOKE [ GRANT OPTION FOR ] { EXECUTE | ALL [ PRIVILEGES ] } ON FUNCTIONS FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_types_clause子句用于回收类型的权限。 1 2 3 4 5 REVOKE [ GRANT OPTION FOR ] { USAGE | ALL [ PRIVILEGES ] } ON TYPES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ] 其中revoke_on_sequences_clause子句用于回收序列的权限。 1 2 3 4 5 6 REVOKE [ GRANT OPTION FOR ] { { USAGE | SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] } ON SEQUENCES FROM { [ GROUP ] role_name | PUBLIC } [, ...] [ CASCADE | RESTRICT | CASCADE CONSTRAINTS ]
  • hll_add_agg(hll_hashval, int32 log2m, int32 regwidth, int64 expthresh, int32 sparseon) 描述:把哈希后的数据按照分组放到hll中, 依次制定参数log2m、regwidth、expthresh、sparseon。sparseon取值范围为0或者1。 返回值类型:hll 示例: 1 2 3 4 5 SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1, 4, 0)) FROM t_data; hll_cardinality ------------------ 496.628982624022 (1 row)
  • hll_add_agg(hll_hashval) 描述:把哈希后的数据按照分组放到hll中。 返回值类型:hll 示例: 准备数据。 1 2 3 4 CREATE TABLE t_id(id int); INSERT INTO t_id VALUES(generate_series(1,500)); CREATE TABLE t_data(a int, c text); INSERT INTO t_data SELECT mod(id,2), id FROM t_id; 创建表并指定列为hll。 1 CREATE TABLE t_a_c_hll(a int, c hll); 根据a列group by对数据分组,把各组数据加到hll中。 1 INSERT INTO t_a_c_hll SELECT a, hll_add_agg(hll_hash_text(c)) FROM t_data GROUP BY a; 得到每组数据中hll的Distinct值。 1 2 3 4 5 6 SELECT a, #c as cardinality FROM t_a_c_hll order by a; a | cardinality ---+------------------ 0 | 250.741759091658 1 | 250.741759091658 (2 rows)
  • hll_add_agg(hll_hashval, int32 log2m, int32 regwidth) 描述:把哈希后的数据按照分组放到hll中。依次制定参数log2m, regwidth。 regwidth取值范围为1~5。 返回值类型:hll 示例: 1 2 3 4 5 SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1)) FROM t_data; hll_cardinality ------------------ 496.628982624022 (1 row)
  • hll_union_agg(hll) 描述:将多个hll类型数据union成一个hll。 返回值类型:hll 示例: 将各组中的hll数据union成一个hll,并计算distinct值。 1 2 3 4 5 SELECT #hll_union_agg(c) as cardinality FROM t_a_c_hll; cardinality ------------------ 496.628982624022 (1 row)
  • hll_add_agg(hll_hashval, int32 log2m) 描述:把哈希后的数据按照分组放到hll中。 并指定参数log2m,取值范围为10~16。 返回值类型:hll 示例: 1 2 3 4 5 SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), 10)) FROM t_data; hll_cardinality ------------------ 503.932348927339 (1 row)
  • hll_add_agg(hll_hashval, int32 log2m, int32 regwidth, int64 expthresh) 描述:把哈希后的数据按照分组放到hll中, 依次指定参数log2m、regwidth、expthresh。expthresh的取值范围是-1~7之间的整数,该参数可以用来设置从Explicit模式到Sparse模式的阈值大小。-1表示自动模式,0表示跳过Explicit模式,取1~7表示在基数到达 2expthresh时切换模式。 返回值类型:hll 示例: 1 2 3 4 5 SELECT hll_cardinality(hll_add_agg(hll_hash_text(c), NULL, 1, 4)) FROM t_data; hll_cardinality ------------------ 496.628982624022 (1 row)
  • pg_task_resume(text) 描述:恢复某个自动调度任务执行,入参为该任务的task-id。函数返回被恢复执行任务的个数。该函数仅8.2.1.300及以上版本支持。 返回值类型:integer 示例: 1 2 3 4 5 SELECT pg_task_resume('64661705-8ada-0100-d07f-b57e89a0fffe'); pg_task_resume ---------------- 1 (1 row)
  • pg_task_remove(text) 描述:删除某个自动调度任务,入参为该任务的task-id,函数返回被删除任务的个数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT pg_task_remove('64661705-8ada-0100-d07f-b57e89a0fffe'); pg_task_remove ---------------- 1 (1 row)
  • pg_task_show(text) 描述:查询当前自动调度任务信息,对于hudi同步任务,入参应该是'SQLonHudi'。 返回值类型:setof record 示例: 1 2 3 4 5 SELECT * FROM pg_task_show('SQLonHudi'); task_id | what | category_id | userid | is_broken | interval | time_cons | start_time | end_time | parameter | task_rank | next_start_time | next_end_time | last_log | failure_times --------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+--------+-----------+------------+-----------+-------------------------------+----------+-----------+-----------+-------------------------------+-------------------------------+----------+--------------- 64d257e9-1e9b-0d00-3ce3-7e61b5e0fffe | call pg_catalog.hudi_sync_custom('public.hudi_read_target', 'public.hudi_read101', '{"_hoodie_commit_seqno" : "_hoodie_commit_seqno", "id" : "id", "ts" : "ts", "long_field" : "ts"}'); | SQLonHudi | 10 | f | '00:00:10' | | 2023-08-08 22:58:15.846903+08 | | | 5 | 2023-08-08 22:58:15.846903+08 | 2023-08-08 22:58:24.846903+08 | | 0 (1 row) last_log和failure_times字段用于记录上一次任务的状态。 last_log于任务结束时刷新,若任务成功,则清空内容;若任务失败则记录任务的失败日志。 failure_times于时间窗结束时刷新,若任务成功,置为0,失败则累加1,本轮未拉起则不变,可用于推断第一次失败出现的时间。
  • pg_task_reset_interval(text, interval) 描述:修改某个同步任务的调度周期,第一个入参为任务的task_id,第二个入用于指定任务的调度周期,取值范围为5秒至24小时。函数返回被修改周期的任务的个数。该函数仅8.2.1.300及以上版本支持。 返回值类型:integer 示例: 1 2 3 4 5 select pg_task_reset_interval('64bfd69c-a016-0000-120e-1e802978fffe', '10 hours 30 minutes'); pg_task_reset_interval ------------------------ 1 (1 row)
  • hudi_set_sync_commit(text, text) 描述:设置Hudi自动同步任务下一次同步的起点时间戳,可以用于重复同步历史数据或者跳过某些数据。第一个参数为任务id,第二个参数为用户期望的下一次同步起点。该函数需要在提交同步任务后使用,并且使用前需要暂停任务。该函数仅8.2.1.210及以上版本支持。 返回值类型:text 示例: 1 2 3 4 5 6 7 select hudi_set_sync_commit('6524c8e3-aae9-0000-5a14-be8ec000fffe', '20230511114021573'); NOTICE: set sync commit successfully, the next synchronization will start from 20230511114021573 CONTEXT: referenced column: hudi_set_sync_commit hudi_set_sync_commit ---------------------- 20230511114021573 (1 row) 只有拥有目标任务权限的用户才能成功调用该函数。 调用该函数前,目标任务需要处于暂停状态,且至少成功执行过一次。
  • pg_task_pause(text) 描述:暂停某个自动调度任务,入参为该任务的task-id,函数返回被暂停任务的个数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT pg_task_pause('64661705-8ada-0100-d07f-b57e89a0fffe'); pg_task_pause --------------- 1 (1 row)
  • hudi_sync_custom(regclass, regclass, text) 描述:存储过程,Hudi自动同步任务调用入口,支持用户自定义目标表和数据源表的字段同步对应关系。使用pg_catalog.hudi_sync_task_submit(regclass, regclass, text, text)提交的任务会执行该存储过程。其中text为json风格字符串,表示两张表字段间的同步对应关系。执行成功会提示同步的行数和时间戳。 返回值类型:text 示例: 1 2 3 4 5 6 7 CALL hudi_sync_custom('public.hudi_sync_i', 'public.hudi_mor_ft', '{"_hoodie_commit_time" : "_hoodie_commit_time", "col_bigint" : "col_bigint", "col_text" : "col_text"}'); NOTICE: execute full sync CONTEXT: PL/pgSQL function hudi_sync_custom(regclass,regclass,text) line 14 at RETURN hudi_sync_custom -------------------------------------- sync 1 rows up to 20230511114021573. (1 row)
  • hudi_sync_task_submit(regclass, regclass, text, text, interval) 描述:功能与hudi_sync_task_submit(regclass, regclass, text, text)一致,不同之处在于,用户可以额外指定一个interval类型入参,用于指定任务的调度周期,取值范围为5秒至24小时。该函数仅8.2.1.300及以上版本支持。 返回值类型:text 同步目标表必须包含主键,且主键需要与hudi recordkey一致。 如果hudi表包含precombine字段,那么同步目标表也必须包含与之对应的字段。 如果同步目标表只包含主键(除了主键外没有其他字段),则无法正常提交同步任务。 用户需要有同步目标表的insert和update权限、HUDI外表的select权限,否则无法正常提交同步任务。 示例: 1 2 3 4 5 SELECT hudi_sync_task_submit('public.hudi_sync_i','public.hudi_mor_ft','_hoodie_commit_time, col_bigint, col_text', '_hoodie_commit_time, col_bigint, col_text', '10 minute 30second'); hudi_sync_task_submit -------------------------------------- 646610bc-cdd1-0d00-d07d-b57e89a0fffe (1 row)
  • hudi_sync_task_submit(regclass, regclass, interval) 描述:功能与hudi_sync_task_submit(regclass, regclass)一致。不同之处在于,用户可以额外指定一个interval类型入参,用于指定任务的调度周期,取值范围为5秒至24小时。提交任务成功会返回任务的task-id。该函数仅8.2.1.300及以上版本支持。 返回值类型:text 同步目标表必须包含主键,且主键需要与hudi recordkey一致。 如果hudi表包含precombine字段,那么同步目标表也必须包含与之对应的字段。 如果同步目标表只包含主键(除了主键外没有其他字段),则无法正常提交同步任务。 用户需要有同步目标表的insert和update权限、HUDI外表的select权限,否则无法正常提交同步任务。 示例: 1 2 3 4 5 SELECT hudi_sync_task_submit('public.hudi_sync_i','public.hudi_mor_ft','1 hour'); hudi_sync_task_submit -------------------------------------- 6465efe2-3ea1-0b00-dde5-b57dfb30fffe (1 row)
  • hudi_show_sync_state() 描述:获取Hudi自动同步任务的同步状态。 返回值类型:setof record 示例: 1 2 3 4 5 SELECT * FROM hudi_show_sync_state(); target_tbl | source_ftbl | payload_type | precombine_key | latest_commit --------------------+--------------------+-------------------------------------------------------------+----------------+------------------- public.hudi_sync_i | public.hudi_mor_ft | org.apache.hudi.common.model.OverwriteWithLatestAvroPayload | col_int | 20230511114021573 (1 row)
  • hudi_sync(regclass, regclass) 描述:存储过程,Hudi自动同步任务调用入口。使用pg_catalog.hudi_sync_task_submit(regclass, regclass)提交的任务会执行该存储过程。执行成功会提示同步的行数和时间戳。 返回值类型:text 示例: 1 2 3 4 5 6 7 CALL hudi_sync('public.hudi_sync_i', 'public.hudi_mor_ft'); NOTICE: execute full sync CONTEXT: PL/pgSQL function hudi_sync(regclass,regclass) line 11 at RETURN hudi_sync -------------------------------------- sync 1 rows up to 20230511114021573. (1 row)
  • hudi_set_sync_commit(regclass, regclass, text) 描述:设置Hudi自动同步任务首次同步的起点时间戳,避免在已经同步了部分数据的情况下,重新同步已有数据。第一个参数为同步目标表,第二个参数为hudi外表,第三个参数为用户期望的同步起点。该函数需要在提交同步任务之前使用。该函数仅8.2.1.210及以上版本支持。 返回值类型:text 示例: 1 2 3 4 5 6 7 select hudi_set_sync_commit('public.hudi_sync_i', 'public.hudi_mor_ft', '20230511114021573'); NOTICE: set sync commit successfully, the next synchronization will start from 20230511114021573 CONTEXT: referenced column: hudi_set_sync_commit hudi_set_sync_commit ---------------------- 20230511114021573 (1 row) 用户需要有同步目标表的insert和update权限、HUDI外表的select权限,否则无法正常设置同步进度。
  • hudi_sync_task_submit(regclass, regclass) 描述:提交Hudi自动同步任务。第一个入参为同步目标表,第二个入参为HUDI外表。提交任务成功会返回任务的task-id。 返回值类型:text 同步目标表必须包含主键,且主键需要与hudi recordkey一致。 如果hudi表包含precombine字段,那么同步目标表也必须包含与之对应的字段。 如果同步目标表只包含主键(除了主键外没有其他字段),则无法正常提交同步任务。 用户需要有同步目标表的insert和update权限、HUDI外表的select权限,否则无法正常提交同步任务。 示例: 1 2 3 4 5 SELECT hudi_sync_task_submit('public.hudi_sync_i','public.hudi_mor_ft'); hudi_sync_task_submit -------------------------------------- 6465efe2-3ea1-0b00-dde5-b57dfb30fffe (1 row)
  • hudi_sync_task_submit(regclass, regclass, text, text) 描述:功能与hudi_sync_task_submit(regclass, regclass)一致,不同之处在于,用户可以额外指定两个text入参,表示用户期望哪些字段被同步。字段之间使用','分隔,支持引号和转义字符的解析。两个text参数的字段数量和顺序应当一致,表示同步字段之间的对应关系。提交任务成功会返回任务的task-id。 返回值类型:text 同步目标表必须包含主键,且主键需要与hudi recordkey一致。 如果hudi表包含precombine字段,那么同步目标表也必须包含与之对应的字段。 如果同步目标表只包含主键(除了主键外没有其他字段),则无法正常提交同步任务。 用户需要有同步目标表的insert和update权限、HUDI外表的select权限,否则无法正常提交同步任务。 示例: 1 2 3 4 5 SELECT hudi_sync_task_submit('public.hudi_sync_i','public.hudi_mor_ft','_hoodie_commit_time, col_bigint, col_text', '_hoodie_commit_time, col_bigint, col_text'); hudi_sync_task_submit -------------------------------------- 646610bc-cdd1-0d00-d07d-b57e89a0fffe (1 row)
  • hudi_get_options(regclass) 描述:查询Hudi外表的属性信息(hoodie.properties)。以key-value键值对表示。 返回值类型:setof record 示例: 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 SELECT * FROM hudi_get_options('public.hudi_mor_ft'); key | value -------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------- hoodie.table.precombine.field | col_int hoodie.datasource.write.drop.partition.columns | false hoodie.table.partition.fields | hoodie.table.type | MERGE_ON_READ hoodie.archivelog.folder | archived hoodie.compaction.payload.class | org.apache.hudi.common.model.OverwriteWithLatestAvroPayload hoodie.timeline.layout.version | 1 hoodie.table.version | 4 hoodie.table.recordkey.fields | col_bigint hoodie.database.name | default hoodie.datasource.write.partitionpath.urlencode | false hoodie.table.name | lt_test_mor_014 hoodie.table.keygenerator.class | org.apache.hudi.keygen.ComplexKeyGenerator hoodie.datasource.write.hive_style_partitioning | true hoodie.table.create.schema | {"type"\:"record","name"\:"lt_test_mor_014_record","namespace"\:"hoodie.lt_test_mor_014","fields"\:[{"name"\:"_hoodie_commit_time","type"\:[ "string","null"]},{"name"\:"_hoodie_commit_seqno","type"\:["string","null"]},{"name"\:"_hoodie_record_key","type"\:["string","null"]},{"name"\:"_hoodie_partition_path","type"\:["string","null "]},{"name"\:"_hoodie_file_name","type"\:["string","null"]},{"name"\:"col_bigint","type"\:["long","null"]},{"name"\:"col_int","type"\:["int","null"]},{"name"\:"col_text","type"\:["string","nu ll"]},{"name"\:"col_text2","type"\:["string","null"]}]} hoodie.table.checksum | 515660817 (16 rows)
  • hudi_get_max_commit(regclass) 描述:获取当前Hudi外表最新commit的时间戳。 返回值类型:text 示例: 1 2 3 4 5 SELECT * FROM hudi_get_max_commit('public.hudi_mor_ft'); hudi_get_max_commit --------------------- 20230511114021573 (1 row)
  • pg_show_custom_settings() 描述:查询Hudi外表参数设置详情。 返回值类型:setof record 示例: 1 2 3 4 5 6 7 8 9 10 11 12 SELECT * FROM pg_show_custom_settings(); name | setting | unit | category | short_desc | extra_desc | context | vartype | source | min_val | max_val | enumvals | boot_val | reset_val | sourcefile | sourceline ----------------------------------------------------+-------------------+------+--------------------+--------------------------+------------+---------+---------+---------+---------+---------+ ----------+----------+-----------+------------+------------ hoodie.public.hudi_mor_ft.consume.ending.timestamp | 20230404172329544 | | Customized Options | GUC placeholder variable | | user | string | session | | | | | | | hoodie.public.hudi_mor_ft.consume.mode | incremental | | Customized Options | GUC placeholder variable | | user | string | session | | | | | | | hoodie.public.hudi_mor_ft.consume.start.timestamp | 20230404172329543 | | Customized Options | GUC placeholder variable | | user | string | session | | | | | | | (3 rows)
  • 示例 创建模式ot: 1 CREATE SCHEMA ot; 创建表ot.t1及其同义词t1: 1 2 CREATE TABLE ot.t1(id int, name varchar2(10)) DISTRIBUTE BY hash(id); CREATE OR REPLACE SYNONYM t1 FOR ot.t1; 使用同义词t1: 1 2 3 SELECT * FROM t1; INSERT INTO t1 VALUES (1, 'ada'), (2, 'bob'); UPDATE t1 SET t1.name = 'cici' WHERE t1.id = 2; 创建同义词v1及其关联视图ot.v_t1: 1 2 CREATE SYNONYM v1 FOR ot.v_t1; CREATE VIEW ot.v_t1 AS SELECT * FROM ot.t1; 使用同义词v1: 1 SELECT * FROM v1; 创建重载函数ot.add及其同义词add: 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE OR REPLACE FUNCTION ot.add(a integer, b integer) RETURNS integer AS $$ SELECT $1 + $2 $$ LANGUAGE sql; CREATE OR REPLACE FUNCTION ot.add(a decimal(5,2), b decimal(5,2)) RETURNS decimal(5,2) AS $$ SELECT $1 + $2 $$ LANGUAGE sql; CREATE OR REPLACE SYNONYM add FOR ot.add; 使用同义词add: 1 2 SELECT add(1,2); SELECT add(1.2,2.3); 创建存储过程ot.register及其同义词register: 1 2 3 4 5 6 7 8 9 CREATE PROCEDURE ot.register(n_id integer, n_name varchar2(10)) SECURITY INVOKER AS BEGIN INSERT INTO ot.t1 VALUES(n_id, n_name); END; / CREATE OR REPLACE SYNONYM register FOR ot.register; 使用同义词register,调用存储过程: 1 CALL register(3,'mia');
  • 注意事项 定义同义词的用户成为其所有者。 若指定模式名称,则同义词在指定模式中创建。否则,在当前模式创建。 支持通过同义词访问的数据库对象包括:表、视图、函数和存储过程。 使用同义词时,用户需要具有对关联对象的相应权限。 支持使用同义词的DML语句包括:SELECT、INSERT、UPDATE、DELETE、EXPLAIN、CALL。 不支持关联函数或存储过程的CREATE SYNONYM语句出现在存储过程中,建议存储过程中使用系统表pg_synonym中已存在的同义词对象。
  • 路径 路径由一系列连接的点组成。路径可能是开放的,也就是认为列表中第一个点和最后一个点没有连接,也可能是闭合的,这时认为第一个和最后一个点连接起来。 用下面的语法描述path的数值: [ ( x1 , y1 ) , ... , ( xn , yn ) ] ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 点表示组成路径的线段的端点。方括弧([])表明一个开放的路径,圆括弧(())表明一个闭合的路径。当最外层的括号被省略,如在第三至第五语法,会假定一个封闭的路径。 路径的输出使用第一种或第二种语法输出。
  • 多边形 多边形由一系列点代表(多边形的顶点)。多边形可以认为与闭合路径一样,但是存储方式不一样而且有自己的一套支持函数。 用下面的语法描述polygon的数值: ( ( x1 , y1 ) , ... , ( xn , yn ) ) ( x1 , y1 ) , ... , ( xn , yn ) ( x1 , y1 , ... , xn , yn ) x1 , y1 , ... , xn , yn 点表示多边形的端点。 多边形输出使用第一种语法。
  • pgxc_cgroup_reload_conf(text) 描述:在某个节点上进行cgroup配置文件在线加载。入参为节点的IP地址。 返回值类型:record 函数返回字段如下: 名称 类型 描述 node_name text 实例名称 node_host text 实例所在节点的IP地址 result text cgroup在线加载是否成功 示例: 1 2 3 4 5 6 7 8 9 select * from pgxc_cgroup_reload_conf('192.168.178.35'); node_name | node_host | result --------------+----------------+--------- cn_5001 | 192.168.178.35 | success dn_6007_6008 | 192.168.178.35 | success dn_6003_6004 | 192.168.178.35 | success dn_6001_6002 | 192.168.178.35 | success dn_6005_6006 | 192.168.178.35 | success (5 rows)
共100000条