华为云用户手册

  • get_all_col_file_info() 描述:查询所有列存表的空CU文件数和总CU文件数,该函数仅8.2.0及以上集群版本支持。 返回值类型:record 返回值字段: space_name text:列存表所属schema table_name text:列存表名 total_file_num int:总CU文件数,范围为-1~INT_MAX,返回-1时表示表类型不支持等原因的失败,0~INT_MAX为总文件数。 empty_file_num int:空CU文件数,范围为-1~INT_MAX,返回-1时表示表类型不支持等原因的失败,0~INT_MAX为空文件数。 示例: 1 2 3 4 5 6 7 call get_all_col_file_info(); space_name | table_name | total_file_num | empty_file_num ------------+------------+----------------+---------------- public | t4 | 10 | 7 public | t2 | 1 | 1 public | t1 | 3 | 0 (3 rows)
  • copy_error_log_create() 描述:创建COPY FROM容错机制所需要的错误表(public.pgxc_copy_error_log)。 返回值类型:boolean 此函数会尝试创建public.pgxc_copy_error_log表,表的详细信息请参见表3。 在relname列上创建B-tree索引,并REVOKE ALL on public.pgxc_copy_error_log FROM public对错误表进行权限控制(与COPY语句权限一致)。 由于尝试创建的public.pgxc_copy_error_log定义是一张行存表,因此集群上必须支持行存表的创建才能够正常运行此函数,并使用后续的COPY容错功能。需要特别注意的是,enable_hadoop_env这个GUC参数开启后会禁止在集群内创建行存表( GaussDB (DWS)默认为off)。 此函数自身权限为Sysadmin及以上(与错误表、COPY权限一致)。 若创建前public.pgxc_copy_error_log表已存在或者copy_error_log_relname_idx索引已存在,则此函数会报错回滚。 表3 错误表public.pgxc_copy_error_log信息 列名称 类型 描述 relname varchar 表名称。以模式名.表名形式显示。 begintime timestamp with time zone 出现数据格式错误的时间。 filename varchar 出现数据格式错误的数据源文件名。 rownum bigint 在数据源文件中,出现数据格式错误的行号。 rawrecord text 在数据源文件中,出现数据格式错误的原始记录。为了防止字段长度过大,限制字段的长度不超过1024 byte。 detail text 详细错误信息。 columnname varchar 在数据源文件中,出现数据格式错误的字段名称。仅8.2.1.100及以上版本支持。 errcode varchar 出错信息对应的错误码,使用sqlstate错误码。仅8.2.1.100及以上版本支持。 queryid bigint 执行copy的sql语句id,用于唯一标识一条sql语句。仅8.2.1.100及以上版本支持。
  • wdr_xdb_query(db_name text, snapshot_id bigint, view_name text) 描述:查询指定数据库下的指定视图。有的视图在不同数据库中查询结果不同,例如global_table_stat视图用于查询表格的统计信息,由于不同数据库下表格不同,在不同数据库中查询该视图得到的结果也不同。wdr_xdb_query函数可以在当前连接中访问db_name指定的数据库,并在该数据库中查询view_name指定的视图。输入参数含义如下: db_name:指定的数据库名称,text型。 snapshot_id:快照ID,bigint型,参见“性能视图快照”。 view_name:指定视图名称,text型。视图名称必须在如下白名单中: global_table_stat global_table_change_stat global_column_table_io_stat global_row_table_io_stat 返回值类型:record,其第一列为snapshot_id bigint,第二列为db_name text,其他列的名称、类型和顺序与view_name指定的视图相同。 示例: 1 2 select snapshot_id, db_name, schemaname, relname, distribute_mode, seq_scan ,seq_tuple_read ,index_scan ,index_tuple_read ,tuple_inserted ,tuple_updated ,tuple_deleted ,tuple_hot_updated ,live_tuples ,dead_tuples from wdr_xdb_query('postgres'::text, 1, 'global_table_stat'::text) as i(snapshot_id bigint, db_name text, schemaname name, relname name, distribute_mode char, seq_scan bigint, seq_tuple_read bigint, index_scan bigint, index_tuple_read bigint, tuple_inserted bigint, tuple_updated bigint, tuplee_deleted bigint, tuple_hot_updated bigint, live_tuples bigint, dead_tuples bigint); 该函数仅8.1.2及以上版本支持。 该函数只有数据库管理员SYSADMIN才有权执行,非管理员执行会提示无权限。 该函数只能查询白名单中的视图,如果查询其他视图,会报错:“Input view name is invalid.”。
  • pg_get_bucket_epoch(relid) 描述:查询v3表在当前节点上的epoch值。对于分区表,需要输入父表oid,将打印所有子分区的epoch值。该函数只支持在写VW上执行。该函数仅9.1.0.200及以上集群版本支持。 返回值类型:record 返回值字段: relfilenode oid:列存非分区表的relfilenode。对于分区表,此值为0。 partfilenode oid:列存分区表的relfilenode。对于非分区表,此值为0。 epoch xid:当前节点上该表对应的epoch值。 示例: 1 2 3 4 5 select * from pg_get_bucket_epoch(2147483732); relfilenode | partfilenode | epoch -------------+--------------+-------- 2137383742 | 0 | 1000001 (1 row)
  • pg_get_bucket_epoch(tablespaceid, databaseid, relfilenode) 描述:查询v3表在当前节点上的epoch值。输入v3表所在的表空间oid,数据库oid和表对应的relfilenode。该函数在写VW或读VW上均可执行。该函数仅9.1.0.200及以上集群版本支持。 返回值类型:xid 返回值字段: epoch xid:当前节点上该表对应的epoch值。 示例: 1 2 3 4 5 select * from pg_get_bucket_epoch(2147483729, 16792, 2147483732); epoch ------- 1000001 (1 row)
  • create_wdr_snapshot() 描述:创建性能数据快照。 返回值类型:text 该函数只有数据库管理员SYSADMIN才可以执行,非管理员执行会提示无权限。 该函数只能在CN上执行,在DN上执行会返回:“WDR snapshot can only be created on coordinator.”。 执行该函数前需确认enable_wdr_snapshot参数处于开启状态。如果enable_wdr_snapshot为off,执行该函数会返回:“WDR snapshot request can't be executed, because GUC parameter 'enable_wdr_snapshot' is off.”。 如果执行该函数时,快照线程由于节点重启等原因尚未启动,会提示错误:“WDR snapshot request can not be accepted, please retry later.”。 如果执行该函数失败,会提示:“Cannot respond to WDR snapshot request.”。 如果执行成功,会返回:“WDR snapshot request has been submitted.”。该提示表明创建快照请求已发送至后台快照线程,但不代表创建快照成功。
  • kill_snapshot(scope cstring) 描述:中止后台快照线程。该函数向后台快照线程发送中止信号并等待线程结束。 输入参数scope:表示操作范围。该参数取值范围为local和global。 local表示中止当前CN上的快照线程。 global表示不仅会中止当前CN上的快照线程,还会向集群中所有其他CN发送中止快照线程的请求,即中止集群中所有CN上的快照线程。 如果输入其他值,则报错“Scope is invalid, use "local" or "global".”。 输入参数可为空,表示默认取值为local。 返回值类型:无 该函数只有数据库管理员SYSADMIN才有权执行,非管理员执行会提示无权限。 该函数只能在CN上执行,在DN上执行会提示:“kill_snapshot can only be executed on coordinator.”; 执行该函数会向后台快照线程发送中止信号并等待其结束。如果100s内快照线程仍未中止则会报错:“Kill snapshot thread failed”;
  • pgxc_get_bucket_epoch(tablespaceid, databaseid, relfilenode) 描述:查询v3表在所有dn节点上的epoch值。输入v3表所在的表空间oid,数据库oid和表对应的relfilenode。该函数在写VW或读VW上均可执行。该函数仅9.1.0.200及以上集群版本支持。 返回值类型:record 返回值字段: nodename text:节点名称。 epoch xid:当前节点上该表对应的epoch值。 示例: 1 2 3 4 5 6 7 select * from pgxc_get_bucket_epoch(2147483729, 16792, 2147483732); nodename | epoch -----------+--------- datanode3 | 1000001 datanode1 | 0 datanode2 | 0 (1 row)
  • table_data_skewness(data_row record, locatorType "char") 描述:计算指定表中列拼接出的record,对应的桶分布索引。 参数:data_row表示指定表中列拼接出的record,locatorType表示分布规则,当前建议指定'H',按hash分布计算。 返回值类型:smallint 示例: 计算tx表中a列拼接的record,按照hash分布规则对应的桶分布索引。 1 2 3 4 5 6 7 8 9 select a, table_data_skewness(row(a), 'H') from tx; a | table_data_skewness ---+--------------------- 3 | 0 6 | 2 7 | 2 4 | 1 5 | 1 (5 rows)
  • table_distribution(schemaname text, tablename text) 描述:查看指定表在各个节点上占用的存储空间。 参数:表示待查询表的模式名和表名,均为text类型。 返回值类型:record 使用本函数查询指定表存储分布信息,需要具备指定表的SELECT权限。 table_distribution性能比table_skewness更优,尤其是在大集群大数据量场景下,请优先考虑使用table_distribution函数。 当使用table_distribution并希望直观的看到空间占比时,可使用dnsize/(sum(dnsize) over ())的方式查看出具体的占比情况。
  • table_skewness(table_name text, column_name text[, row_num text]) 描述:查看表里某列数据,按hash分布规则,在各节点的占比情况。结果以数据节点上的数据量排序。 参数:table_name为表名;column_name为列名;row_num表示查看当前列所有数据,可缺省,默认为0。非0时,表示抽取指定条数的数据查看占比情况(每次采样结果可能不相同,只保证采集row_num条数据进行占比计算)。 返回值类型:record 示例: 根据tx表中的a列,按hash分布,则在1,2,0编号的DN上分布的数据量分别为7条,2条,1条。 1 2 3 4 5 6 7 SELECT * FROM table_skewness('tx','a'); seqnum | num | ratio --------+-----+---------- 1 | 7 | 70.000% 2 | 2 | 20.000% 0 | 1 | 10.000% (3 row)
  • table_distribution() 描述:查看当前库中所有表在各节点的存储空间分布情况。 返回值类型:record 使用本函数涉及全库表信息查询,需要具备管理员权限或预置角色gs_role_read_all_stats权限。 当前基于table_distribution()函数,GaussDB(DWS)提供视图PGXC_GET_TABLE_SKEWNESS进行数据倾斜查询,建议在数据库中表数量(小于10000)较少的场景直接使用。
  • gs_table_distribution(schemaname text, tablename text) 描述:快速查看指定表在各个节点上占用的存储空间。 返回值类型:record 表1 gs_table_distribution(schemaname text, tablename text)函数返回字段 名称 类型 描述 schemaname name 模式名称。 tablename name 表名。 relkind character 类型。 i:索引 r:表 nodename name 节点名称。 dnsize bigint 表在该节点上的存储空间大小,单位:字节。 使用本函数查询指定表存储分布信息,需要具备指定表的SELECT权限。 该函数基于PG_RELFILENODE_SIZE系统表上的物理文件存储空间记录,需确保GUC参数use_workload_manager和enable_perm_space必须开启。 性能上,单表查询时,gs_table_distribution函数低于table_distribution函数;在全库表查询时,gs_table_distribution函数大幅度优于table_distribution函数;在大集群大数据量场景下,如果进行全库表查询,建议优先使用gs_table_distribution函数。
  • check_foreign_key_constraint(schema.table) 描述:检测外键表中的数据是否满足外键约束。该参数仅9.1.0.200及以上集群版本支持。 返回值类型:text 示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 set info_constraint_options = 'foreign_key'; CREATE TABLE ptt1 (a int,b int,e varchar(50),f varchar(50),PRIMARY KEY (a,b)) DISTRIBUTE BY HASH(a,b); CREATE TABLE tt2 (a int , b int, c int, d int) DISTRIBUTE BY HASH(a,b); select check_foreign_key_constraint('table_constraints.tt2'); check_foreign_key_constraint ----------------------------------------- tt2 table has no foreign key constraint ALTER TABLE tt2 ADD CONSTRAINT fk_tt1_a FOREIGN KEY (a,b) REFEREN CES ptt1(a,b); select check_foreign_key_constraint('table_constraints.tt2'); check_foreign_key_constraint ------------------------------------------- tt2 satisfied all Foreign key constraints
  • table_distribution(regclass) 描述:查看指定表在各个节点上占用的存储空间。 参数:表示待查询表的表名或OID,表名可以有模式名限定。为regclass类型。 返回值类型:record 使用本函数查询指定表存储分布信息,需要具备指定表的SELECT权限。 table_distribution性能比table_skewness更优,尤其是在大集群大数据量场景下,请优先考虑使用table_distribution函数。 当使用table_distribution并希望直观的看到空间占比时,可使用dnsize/(sum(dnsize) over ())的方式查看出具体的占比情况。
  • gs_table_distribution() 描述:快速查看当前库中所有表在各节点的存储空间分布情况。 返回值类型:record 表2 gs_table_distribution()函数返回字段 名称 类型 描述 schemaname name 模式名称。 tablename name 表名。 relkind character 类型,i: 索引,r: 表。 nodename name 节点名称。 dnsize bigint 表在该节点上的存储空间大小,单位:字节。 使用本函数查询指定表存储分布信息,需要具备指定表的SELECT权限。 该函数基于PG_RELFILENODE_SIZE系统表上的物理文件存储空间记录,需确保GUC参数use_workload_manager和enable_perm_space必须开启。 性能上,单表查询时,gs_table_distribution函数低于table_distribution函数;在全库表查询时,gs_table_distribution函数大幅度优于table_distribution函数;在大集群大数据量场景下,如果进行全库表查询,建议优先使用gs_table_distribution函数。 基于gs_table_distribution()函数,GaussDB(DWS)自8.2.1集群版本提供了视图PGXC_WLM_TABLE_DISTRIBUTION_SKEWNESS进行数据倾斜查询,建议在数据库中表数量(小于10000)较少的场景直接使用。
  • reset_instr_unique_sql(cstring, cstring, INT8) 描述:清理已收集的Unique SQL信息。输入参数含义如下: GLOBAL/LOCAL:清理范围为所有节点或当前节点。 ALL/BY_USERID/BY_CNID/BY_GUC:ALL表示清理所有,BY_USERID/BY_CNID表示按照USERID或CNID进行清理,BY_GUC表示清理操作是由GUC参数instr_unique_sql_count设置值变小引起的。 第三个参数值对应第二个参数设置,ALL/BY_GUC的情况下该值无意义。 返回值类型:bool
  • pg_stat_xlog_space() 描述:显示当前DN上Xlog空间使用信息。 返回值类型:record 函数返回信息如下: 表6 pg_stat_xlog_space() 名称 类型 描述 xlog_files bigint pg_xlog目录下,去除backup、archive_status等子目录,所有识别为xlog文件的数目。 xlog_size bigint pg_xlog目录下,去除backup、archive_status等子目录,所有识别为xlog文件的文件大小之和,单位为MB。 other_size bigint pg_xlog目录下backup、archive_status等子目录文件的大小之和,单位为MB。 示例: 1 2 3 4 5 SELECT * FROM pg_stat_xlog_space(); xlog_files | xlog_size | other_size ------------+-----------+------------ 79 | 1264 | 0 (1 row)
  • pgxc_stat_xlog_space() 描述:显示所有主DN上Xlog空间使用信息。 返回值类型:record 函数返回信息如下: 表7 pgxc_stat_xlog_space() 名称 类型 描述 node_name name 节点名称 xlog_files bigint pg_xlog目录下,去除backup、archive_status等子目录,所有识别为xlog文件的数目。 xlog_size bigint pg_xlog目录下,去除backup、archive_status等子目录,所有识别为xlog文件的文件大小之和,单位为MB。 other_size bigint pg_xlog目录下backup、archive_status等子目录文件的大小之和,单位为MB。 示例: 1 2 3 4 5 6 7 8 9 10 SELECT * FROM pgxc_stat_xlog_space(); node_name | xlog_files | xlog_size | other_size --------------+------------+-----------+------------ dn_6001_6002 | 73 | 1168 | 0 dn_6003_6004 | 73 | 1168 | 0 dn_6005_6006 | 73 | 1168 | 0 cn_5003 | 79 | 1264 | 0 cn_5001 | 72 | 1152 | 0 cn_5002 | 73 | 1168 | 0 (6 rows)
  • pg_stat_get_wal_senders() 描述:显示当前DN上所有的WAL复制发送线程的统计信息。 返回值类型:record 函数返回信息如下: 表3 pg_stat_get_wal_senders()字段 名称 类型 描述 pid bigint 线程pid sender_pid integer 当前sender的pid local_role text 本地的角色 peer_role text 对端的角色 peer_state text 对端的状态 state text 当前sender的复制状态 catchup_start timestamp with time zone catchup启动的时间 catchup_end timestamp with time zone catchup结束的时间 sender_sent_location text 发送端发送的LSN位置 sender_write_location text 发送端write的LSN位置 sender_flush_location text 发送端flush的LSN位置 sender_replay_location text 发送端replay的LSN位置 receiver_received_location text 接收端received的LSN位置 receiver_write_location text 接收端write的LSN位置 receiver_flush_location text 接收端flush的LSN位置 receiver_replay_location text 接收端replay的LSN位置 sync_percent text 同步百分比 sync_state text 同步状态(异步复制,同步复制,还是潜在同步者) sync_priority integer 同步复制的优先级(0表示异步) sync_most_available text 在备机同步失败时,是否阻塞主机 channel text WALSender的信道信息
  • pg_stat_get_wal_receiver() 描述:显示当前DN上所有的WAL复制接收线程的统计信息。 返回值类型:record 函数返回信息如下: 表4 pg_stat_get_wal_receiver() 名称 类型 描述 receiver_pid integer 当前receiver的pid local_role text 本地的角色 peer_role text 远端的角色 peer_state text 远端的状态 state text 当前receiver的复制状态 sender_sent_location text 发送端发送的LSN位置 sender_write_location text 发送端write的LSN位置 sender_flush_location text 发送端flush的LSN位置 sender_replay_location text 发送端replay的LSN位置 receiver_received_location text 接收端received的LSN位置 receiver_write_location text 接收端write的LSN位置 receiver_flush_location text 接收端flush的LSN位置 receiver_replay_location text 接收端replay的LSN位置 sync_percent text 同步百分比 channel text WALReceiver的信道信息
  • pg_stat_get_stream_replications() 描述:显示当前DN上所有的复制统计信息。 返回值类型:record 函数返回信息如下: 表5 pg_stat_get_stream_replications() 名称 类型 描述 local_role text 本地的角色 static_connections integer 连接统计 db_state text 数据库状态 detail_information text 详细信息 示例: 1 2 3 4 5 SELECT * FROM pg_stat_get_stream_replications(); local_role | static_connections | db_state | detail_information ------------+--------------------+----------+-------------------- Normal | 0 | Normal | Normal (1 row)
  • pg_stat_get_data_senders() 描述:显示当前DN上所有的数据页复制发送线程的统计信息。 返回值类型:record 函数返回信息如下: 表2 pg_stat_get_data_senders()字段 名称 类型 描述 pid bigint 线程pid sender_pid integer 当前sender的pid local_role text 本地的角色 peer_role text 对端的角色 state text 当前sender的复制状态 catchup_start timestamp with time zone catchup启动的时间 catchup_end timestamp with time zone catchup结束的时间 queue_size text 数据队列大小 queue_lower_tail text 数据队列尾1位置 queue_header text 数据队列头位置 queue_upper_tail text 数据队列尾2位置 send_position text 发送端发送的位置 receive_position text 接收端接收的位置 catchup_type text catchup方式为全量还是增量 catchup_bcm_filename text catchup当前执行的bcm文件 catchup_bcm_finished integer catchup已操作完成的bcm文件数量 catchup_bcm_total integer catchup总共需要操作的bcm文件数量 catchup_percent text catchup已经操作完成的百分比 catchup_remaining_time text catchup预估剩余时间
  • pg_logical_slot_get_changes('slot_name', 'LSN', upto_nchanges, 'options_name', 'options_value') 描述:解码并推进流复制槽。该函数在9.1.0.200及之后版本已废弃,为兼容历史版本功能保留该函数。 参数说明: 与pg_logical_slot_peek_changes一致,详细内容请参见pg_logical_slot_peek_changes('slot_name', 'LSN', upto_nchanges, 'options_name', 'options_value')。
  • pg_create_physical_replication_slot ('slot_name', isDummyStandby) 描述:创建物理复制槽。 参数说明: slot_name 流复制槽名称。 取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。 isDummyStandby 复制槽是否为从备。 取值范围:布尔值,支持true或false。 返回值类型:name, text 备注:第一个返回值表示slot_name,第二个返回值表示该物理复制槽解码的起始LSN位置。
  • pg_replication_slot_advance ('slot_name', 'LSN') 描述:直接推进流复制槽到指定LSN,不输出解码结果。 参数说明: slot_name 流复制槽名称。 取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。 LSN 推进到的日志LSN位置,下次解码时只会输出提交位置比该LSN大的事务结果。如果输入的LSN比当前流复制槽记录的推进位置还要小,则直接返回;如果输入的LSN比当前最新物理日志LSN还要大,则推进到当前最新物理日志LSN。 取值范围:字符串(LSN,格式为xlogid/xrecoff)。 返回值类型:name, text 备注:返回值分别对应slot_name和实际推进至的LSN。
  • pg_create_logical_replication_slot('slot_name', 'plugin_name') 描述:创建逻辑复制槽。该函数在9.1.0.200及之后版本已废弃,为兼容历史版本功能保留该函数。 参数说明: slot_name 流复制槽名称。 取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。 plugin_name 插件名称。 取值范围:字符串,当前只支持“mppdb_decoding”。 返回值类型:name, text 备注:第一个返回值表示slot_name,第二个返回值表示该逻辑复制槽解码的起始LSN位置。
  • pg_get_replication_slots() 描述:显示当前DN上所有的复制槽信息。 返回值类型:record 函数返回信息如下: 表1 pg_get_replication_slots()字段 名称 类型 描述 slot_name text 复制槽的名称 plugin name 逻辑复制槽对应的输出插件名 slot_type text 复制槽的类型 datoid oid 复制槽的数据库OID active boolean 复制槽是否为激活状态 xmin xid 复制槽事务标识 catalog_xmin text 逻辑复制槽对应的最早解码事务标识 restart_lsn text 复制槽的Xlog文件信息 dummy_standby boolean 复制槽是否为从备 示例: 1 2 3 4 5 SELECT * FROM pg_get_replication_slots(); slot_name | plugin | slot_type | datoid | active | xmin | catalog_xmin | restart_lsn | dummy_standby -----------------+--------+-----------+--------+--------+------+--------------+-------------------+--------------- gs_roach_common | | physical | 0 | f | | 602861775 | FFFFFFFF/FFFFFFFF | f (1 row)
  • pg_logical_slot_peek_changes('slot_name', 'LSN', upto_nchanges, 'options_name', 'options_value') 描述:解码并不推进流复制槽(下次解码可以再次获取本次解出的数据)。该函数在9.1.0.200及之后版本已废弃,为兼容历史版本功能保留该函数。 参数说明: slot_name 流复制槽名称。 取值范围:字符串,不支持除字母,数字,以及(_?-.)以外的字符。 LSN 日志的LSN,表示只解码小于等于此LSN的日志。 取值范围:字符串(LSN,格式为xlogid/xrecoff),如'1/2AAFC60'。为NULL时表示不对解码截止的日志位置做限制。 upto_nchanges 解码条数(包含begin和commit)。假设一共有三条事务,分别包含3、5、7条记录,如果upto_nchanges为4,那么会解码出前两个事务共8条记录。解码完第二条事务时发现解码条数记录大于等于upto_nchanges,会停止解码。 取值范围:非负整数。 LSN和upto_nchanges中任一参数达到限制,解码都会结束。 options:此项为可选参数。 include-xids 解码出的data列是否包含xid信息。 取值范围:0或1,默认值为1。 0:设为0时,解码出的data列不包含xid信息。 1:设为1时,解码出的data列包含xid信息。 skip-empty-xacts 解码时是否忽略空事务信息。 取值范围:0或1,默认值为0。 0:设为0时,解码时不忽略空事务信息。 1:设为1时,解码时会忽略空事务信息。 include-timestamp 解码信息是否包含commit时间戳。 取值范围:0或1,默认值为0。 0:设为0时,解码信息不包含commit时间戳。 1:设为1时,解码信息包含commit时间戳。 返回值类型:text, uint, text 备注:函数返回解码结果,每一条解码结果包含三列,对应上述返回值类型,分别表示LSN位置、xid和解码内容。
  • pg_advisory_lock(key bigint) 描述:获取会话级别的排它咨询锁。 返回值类型:void 备注:pg_advisory_lock锁定应用程序定义的资源,该资源可以用一个64位或两个不重叠的32位键值标识。如果已经有另外的会话锁定了该资源,则该函数将阻塞到该资源可用为止。这个锁是排它的。多个锁定请求将会被压入栈中,因此,如果同一个资源被锁定了三次,它必须被解锁三次以将资源释放给其他会话使用。
共100000条