华为云用户手册

  • WORKLOAD_SQL_COUNT 显示当前节点workload上的SQL数量分布,如表1所示。 表1 WORKLOAD_SQL_COUNT字段 名称 类型 描述 workload name 负载名称。 select_count bigint select数量。 update_count bigint update数量。 insert_count bigint insert数量。 delete_count bigint delete数量。 ddl_count bigint ddl数量。 dml_count bigint dml数量。 dcl_count bigint dcl数量。 父主题: Workload
  • V_INSTANCE V_INSTANCE视图显示当前数据库的实例信息。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 V_INSTANCE字段 名称 类型 描述 instance_number oid 当前数据库oid。 instance_name character varying(16) 当前数据库名。 host_name character varying(64) 主机名。 version character varying(17) 暂不支持,值为NULL。 version_legacy character varying(17) 暂不支持,值为NULL。 version_full character varying(17) 暂不支持,值为NULL。 startup_time date 暂不支持,值为NULL。 status character varying(12) 暂不支持,值为NULL。 parallel character varying(3) 暂不支持,值为NULL。 thread# numeric 暂不支持,值为NULL。 archiver character varying(7) 暂不支持,值为NULL。 log_switch_wait character varying(15) 暂不支持,值为NULL。 logins character varying(10) 暂不支持,值为NULL。 shutdown_pending character varying(3) 暂不支持,值为NULL。 database_status character varying(17) 暂不支持,值为NULL。 instance_role character varying(18) 暂不支持,值为NULL。 active_state character varying(9) 暂不支持,值为NULL。 blocked character varying(3) 暂不支持,值为NULL。 con_id numeric 暂不支持,值为NULL。 instance_mode character varying(11) 暂不支持,值为NULL。 edition character varying(7) 暂不支持,值为NULL。 family character varying(80) 暂不支持,值为NULL。 database_type character varying(15) 暂不支持,值为NULL。 父主题: 其他系统视图
  • 值存储数据类型解析 查找与目标字段准确的匹配。 试着将表达式直接转换成目标类型。如果已知这两种类型之间存在一个已注册的转换函数,那么直接调用该转换函数即可。如果表达式是一个未知类型文本,该文本字符串的内容将交给目标类型的输入转换过程。 检查目标类型是否有长度转换。长度转换是一个从某类型到自身的转换。如果在pg_cast表里面找到一个,那么在存储到目标字段之前先在表达式上应用。这样的转换函数总是接受一个额外的类型为integer的参数,它接收目标字段的atttypmod值(实际上是其声明长度,atttypmod的解释随不同的数据类型而不同),并且它可能接受一个Boolean类型的第三个参数,表示转换是显式的还是隐式的。转换函数负责施加那些长度相关的语义,比如长度检查或者截断。
  • 示例 character存储类型转换。对一个目标列定义为character(20)的语句,下面的语句显示存储值的长度正确: 1 2 3 4 5 6 7 8 9 10 11 12 gaussdb=# CREATE TABLE tpcds.value_storage_t1 ( VS_COL1 CHARACTER(20) ); gaussdb=# INSERT INTO tpcds.value_storage_t1 VALUES('abcdef'); gaussdb=# SELECT VS_COL1, octet_length(VS_COL1) FROM tpcds.value_storage_t1; vs_col1 | octet_length ----------------------+-------------- abcdef | 20 (1 row) ) gaussdb=# DROP TABLE tpcds.value_storage_t1; 两个unknown文本缺省解析成text,这样就允许||操作符解析成text连接。然后操作符的text结果转换成bpchar("空白填充的字符型", character类型内部名称)以匹配目标字段类型。从text到bpchar的转换是二进制兼容的,这样的转换是隐含的并且实际上不做任何函数调用。在系统表里找到长度转换函数bpchar(bpchar, integer, Boolean) 并且应用于该操作符的结果和存储的字段长。这个类型相关的函数执行所需的长度检查和额外的空白填充。
  • 示例 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 42 43 --查看现有预备语句。 gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+-----------+----------------- (0 rows) --创建q1,q2,q3,q4四个预备语句。 gaussdb=# PREPARE q1 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q2 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q3 AS SELECT 1 AS a; PREPARE gaussdb=# PREPARE q4 AS SELECT 1 AS a; PREPARE --再次查看现有预备语句。 gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+------------------------------+----------------- q1 | PREPARE q1 AS SELECT 1 AS a; | {} q4 | PREPARE q4 AS SELECT 1 AS a; | {} q3 | PREPARE q3 AS SELECT 1 AS a; | {} q2 | PREPARE q2 AS SELECT 1 AS a; | {} (4 rows) --删除q4预备语句并查看剩余预备语句。 gaussdb=# DEALLOCATE q4; gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+------------------------------+----------------- q1 | PREPARE q1 AS SELECT 1 AS a; | {} q3 | PREPARE q3 AS SELECT 1 AS a; | {} q2 | PREPARE q2 AS SELECT 1 AS a; | {} (3 rows) --删除所有预备语句并查看剩余预备语句。 gaussdb=# DEALLOCATE ALL; DEALLOCATE ALL gaussdb=# SELECT name, statement, parameter_types FROM pg_prepared_statements; name | statement | parameter_types ------+-----------+----------------- (0 rows)
  • 示例 1 2 3 4 5 6 7 8 9 --创建安全标签sec_label。 gaussdb=# CREATE SECURITY LABEL sec_label 'L1:G4'; --删除不存在的安全标签sec_label2。 gaussdb=# DROP SECURITY LABEL sec_label2; ERROR: security label "sec_label2" does not exist --删除已存在的安全标签sec_label。 gaussdb=# DROP SECURITY LABEL sec_label;
  • ADM_DIRECTORIES ADM_DIRECTORIES显示数据库中所有目录对象的信息。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 ADM_DIRECTORIES字段 名称 类型 描述 owner oid 目录的所有者。 directory_name name 目录名称。 directory_path text 目录的操作系统路径名。 origin_con_id character varying(256) 暂不支持,值为NULL。 父主题: 其他系统视图
  • PG_STAT_SYS_INDEXES PG_STAT_SYS_INDEXES视图显示pg_catalog、information_schema模式中所有系统表的索引状态信息。具体字段信息如表1所示。 表1 PG_STAT_SYS_INDEXES字段 名称 类型 描述 relid oid 该索引所在的表的OID。 indexrelid oid 索引的OID。 schemaname name 索引的模式名。 relname name 索引的表名。 indexrelname name 索引名。 idx_scan bigint 索引上开始的索引扫描数。 idx_tup_read bigint 该索引上扫描返回的索引项数。 idx_tup_fetch bigint 使用该索引的简单索引扫描在原表中抓取的活跃行数。 父主题: 其他系统视图
  • DB_TAB_MODIFICATIONS DB_TAB_MODIFICATIONS视图显示自上次收集表统计信息以来当前用户可访问的表的修改信息的统计数据。该视图目前只显示执行了INSERT、DELETE和UPDATE操作的表的统计数据。所有用户都可以访问该视图。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_TAB_MODIFICATIONS字段 名称 类型 描述 table_owner character varying(128) 表的所有者。 table_name character varying(128) 表的名称。 partition_name character varying(128) 分区的名称。 subpartition_name character varying(128) 子分区的名称。 inserts numeric 自上次收集统计信息以来的估计插入次数。 updates numeric 自上次收集统计信息以来的估计更新次数。 deletes numeric 自上次收集统计信息以来的估计删除次数。 timestamp timestamp(0) without time zone 上次修改表的时间。 暂不支持分区表的修改时间,值为NULL。 truncated character varying(3) 暂不支持,值为NULL。 drop_segments numeric 暂不支持,值为NULL。 schema_name character varying(128) 表所属模式名。 父主题: 其他系统视图
  • STREAMING_CONT_QUERY STREAMING_CONT_QUERY系统表存储所有CONTVIEW对象的元数据信息。 表1 STREAMING_CONT_QUERY字段 名称 类型 描述 id integer CONTVIEW对象唯一的标识符,不可重复。 type "char" 标识CONTVIEW的类型。 'r':表示该CONTVIEW是基于行存存储模型。 relid oid CONTVIEW对象的标识。 defrelid oid CONTVIEW对应的持续计算规则VIEW的标识。 active boolean 标识CONTVIEW是否处于持续计算状态。 t(true):表示是。 f(false):表示不是。 streamrelid oid CONTVIEW对应的STREAM的标识。 matrelid oid CONTVIEW对应物化表的标识。 lookupidxid oid CONTVIEW对应GROUP LOOK UP INDEX的标识,此字段内部使用,仅行存具有。 step_factor smallint 标识CONTVIEW的步进模式。主要取值为0(无重叠窗口)和1(滑动窗口,步长为1)。 ttl integer CONTVIEW设置的ttl_interval参数值。 ttl_attno smallint CONTVIEW设置的TTL功能对应时间列的字段编号。 dictrelid oid CONTVIEW对应字典表的标识。 grpnum smallint CONTVIEW持续计算规则中维度列的个数,此字段内部使用。 grpidx int2vector CONTVIEW持续计算规则中维度列在TARGET LIST的索引,此字段内部使用。 父主题: 其他系统表
  • MY_SCHEDULER_PROGRAM_ARGS MY_SCHEDULER_PROGRAM_ARG视图显示当前用户拥有的程序的有关参数信息。该视图所有用户可访问,仅可查看当前用户所属信息。该视图同时存在于PG_CATALOG和SYS Schema下。具体字段信息如表1所示。 表1 MY_SCHEDULER_PROGRAM_ARGS字段 名称 类型 描述 program_name character varying(128) 参数所属程序名。 argument_name character varying(128) 参数名称。 argument_position numeric 参数在参数列表中的位置。 argument_type character varying(257) 参数的数据类型,可以是用户的自定义数据类型。 metadata_attribute character varying(19) 暂不支持,值为NULL。 default_value character varying(4000) 参数默认值。 default_anydata_value character varying(4000) 暂不支持,值为NULL。 out_argument character varying(5) 保留字段,值为NULL。 父主题: 其他系统视图
  • 创建、修改和删除Schema 创建Schema,请参见CREATE SCHEMA。默认初始用户和系统管理员可以创建Schema,其他用户需要具备数据库的CREATE权限才可以在该数据库中创建Schema,赋权方式请参见GRANT中将数据库的访问权限赋予指定的用户或角色中的语法。 更改Schema名称或者所有者,请参见ALTER SCHEMA。Schema所有者可以更改Schema。 删除Schema及其对象,请参见DROP SCHEMA。Schema所有者可以删除Schema。 在Schema内创建表,请以schema_name.table_name格式创建表。不指定schema_name时,对象默认创建到搜索路径中的第一个Schema内。 查看Schema所有者,请对系统表PG_NAMESPACE和PG_USER执行如下关联查询。语句中的schema_name请替换为实际要查找的Schema名称。 1 gaussdb=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u WHERE nspname='schema_name' AND s.nspowner = u.usesysid; 查看所有Schema的列表,请查询PG_NAMESPACE系统表。 1 gaussdb=# SELECT * FROM pg_namespace; 查看属于某Schema下的表列表,请查询系统视图PG_TABLES。例如,以下查询会返回Schema PG_CATALOG中的表列表。 1 gaussdb=# SELECT distinct(tablename),schemaname from pg_tables where schemaname = 'pg_catalog';
  • 搜索路径 搜索路径定义在GUC参数search_path中,参数取值形式为采用逗号分隔的Schema名称列表。如果创建对象时未指定目标Schema,则该对象将会被添加到搜索路径中列出的第一个Schema中。当不同Schema中存在同名的对象时,查询对象未指定Schema的情况下,将从搜索路径中包含该对象的第一个Schema中返回对象。 要查看当前搜索路径,请使用SHOW。 1 2 3 4 5 gaussdb=# SHOW SEARCH_PATH; search_path ---------------- "$user",public (1 row) search_path参数的默认值为:"$user",public。$user表示与当前会话用户名同名的Schema名,如果这样的模式不存在,$user将被忽略。所以默认情况下,用户连接数据库后,如果数据库下存在同名Schema,则对象会添加到同名Schema下,否则对象被添加到Public Schema下。 更改当前会话的默认Schema,请使用SET命令。 执行如下命令将搜索路径设置为myschema, public,首先搜索myschema,然后搜索public。 1 2 gaussdb=# SET SEARCH_PATH TO myschema, public; SET
  • GS_SEG_DATAFILE_LAYOUT GS_SEG_DATAFILE_LAYOUT查看段页式1~5号数据文件的静态布局。只支持管理员权限用户查询。 表1 GS_SEG_DATAFILE_LAYOUT字段 名称 类型 描述 version text 段页式版本。默认:1.0。 seg_storage_type text segment表示普通段页式数据。 hashbucket表示hashbucket数据。 file_id integer 数据文件标识。 section_id integer 数据文件划分的数据区号。 section_type text 数据文件区类型。取值范围: file_header表示文件头。 spc_header表示空间头。 map_header表示映射头。 map_pages表示映射页面。 ip_pages(inverse pointer pages)表示反向指针页面。 data_pages表示数据页面。 page_start bigint 数据区域起始页面号。 page_end bigint 数据区域结束页面号。 page_count bigint 数据区域页面数。 total_size bigint 数据区的大小。单位为字节。 父主题: 段页式存储
  • 敏感数据发现函数 gs_sensitive_data_discovery(scan_target text, scan_classifier text) 描述:扫描目标数据,返回统计的扫描结果。 参数: scan_target:指定扫描对象,取值必须是schema、table或column的名称,但必须指定扫描对象的上级名称,比如扫描某列传入扫描对象为scheme_name.table_name.column_name。 scan_classifier:指定使用的分类器,支持指定email、creditcard、phonenumber、chinesename、encryptedcontent 5种分类器,多选可以用逗号分隔,或者使用all选中所有分类器。 返回值类型:record 示例请参见《特性指南》的“敏感数据发现”章节。 gs_sensitive_data_discovery_detail(scan_target text, scan_classifier text) 描述:扫描目标数据,返回详细的扫描结果。 scan_target:指定扫描对象,取值必须是schema、table或column的名称,但必须指定描对象的上级名称,比如扫描某列传入扫描对象为scheme_name.table_name.column_name。 scan_classifier:指定使用的分类器,支持email、creditcard、phonenumber、chinesename、encryptedcontent 5种分类器,多选可以用逗号分隔,或者使用all选中所有分类器。 返回值类型:record 示例请参见《特性指南》的“敏感数据发现”章节。 父主题: 函数和操作符
  • 注意事项 CREATE OPERATOR CLASS定义一个新的操作符类。一个操作符类定义一种特定的数据类型如何与一种索引一起使用。操作符类声明特定的操作符可以为这种数据类型以及索引方法提供特定的角色或者"策略"。当索引列选择定义的操作符类时,操作符类还声明索引方法使用的支持程序。所有操作符类使用的函数和操作符都必须在创建操作符类之前定义。 如果指定了模式,那么操作符类就在指定的模式中创建。否则就在当前模式中创建。在同一个模式中的两个操作符类可以有同样的名字,但它们必须用于不同的索引方法。 定义操作符类的用户将成为其所有者。目前,创建用户必须是初始用户。 CREATE OPERATOR CLASS既不检查这个类定义是否包含所有索引方法需要的操作符以及函数,也不检查这些操作符和函数是否形成一个自包含的集合。 相关的操作符类可以集合成操作符族。添加一个新的操作符类到一个已经存在的操作符族,在CREATE OPERATOR CLASS中指定FAMILY选项。没有这个选项时,新建的类会放置到与它同名的族中(如果不存在则创建它)。
  • 示例 --定义一个函数。 CREATE FUNCTION func_add_sql(num1 integer, num2 integer) RETURN integer AS BEGIN RETURN num1 + num2; END; / --新建一个操作符类,将上述函数作为其关联的函数 CREATE OPERATOR CLASS oc1 DEFAULT FOR TYPE _int4 USING btree AS FUNCTION 1 func_add_sql (integer, integer);
  • 语法格式 CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method [ FAMILY family_name ] AS { OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ FOR SEARCH | FOR ORDER BY sort_family_name ] | FUNCTION support_number [ ( op_type [ , op_type ] ) ] function_name ( argument_type [, ...] ) | STORAGE storage_type } [, ... ];
  • 参数说明 name 将要创建的操作符类的名字(可以用模式修饰)。 default 如果存在,表示该操作符类将成为它的数据类型的缺省操作符类。 对于某个数据类型和访问方式而言,最多有一个操作符类是缺省的。 data_type 操作符类处理的字段的数据类型。 index_method 操作符类处理的索引方法的名字。 family_name 操作符类添加到的现有操作符族的名字。如果没有指定,则使用与该操作符类相同名字的操作符族(如果不存在则创建它)。 strategy_number 与运算符类关联的索引方法的策略编号。 operator_name 和该操作符类关联的操作符的名字(可以用模式修饰)。 op_type 在OPERATOR子句中,表示该操作符的操作数的数据类型,或NONE表示左一元运算符或右一元运算符。在与运算符类的数据类型相同的正常情况下,可以省略操作数数据类型。 在FUNCTION子句中,如果函数的操作数数据类型和函数的输入数据类型(对于B-tree比较函数和哈希函数)或类的数据类型不同, 那么就在该子句中写上这个函数要支持的操作数类型。这些缺省是正确的, 因此op_type 不需要在FUNCTION子句中指定, 除了B-tree排序支持函数支持交叉数据类型比较的情况。 sort_family_name 描述与排序操作符相关的排序顺序的现有btree 操作符族的名字。 缺省时是FOR SEARCH。 support_number 与运算符类关联的函数的索引方法的编号。 function_name 运算符类的索引方法的函数名称。 argument_type 函数参数的数据类型。 storage_type 实际存储在索引里的数据类型。通常它和字段数据类型相同, 但是一些索引方法允许它是不同的。 除非索引方法允许使用不同的类型,否则必须省略STORAGE子句。
  • inet inet类型在一个数据区域内保存主机的IPv4或IPv6地址,以及一个可选子网。主机地址中网络地址的位数表示子网(“子网掩码”)。如果子网掩码是32并且地址是IPv4,则这个值不表示任何子网,只表示一台主机。在IPv6里,地址长度是128位,因此128位表示唯一的主机地址。 该类型的输入格式是address/y,address表示IPv4或者IPv6地址,y是子网掩码的二进制位数。如果省略/y,则子网掩码对IPv4是32,对IPv6是128,所以该值表示只有一台主机。如果该值表示只有一台主机,/y将不会显示。 inet和cidr类型之间的基本区别是inet接受子网掩码,而cidr不接受。
  • macaddr macaddr类型存储MAC地址,也就是以太网卡硬件地址(尽管MAC地址还用于其它用途)。可以接受下列格式: '08:00:2b:01:02:03' '08-00-2b-01-02-03' '08002b:010203' '08002b-010203' '0800.2b01.0203' '08002b010203' 以上示例都表示同一个地址。对于数据位a到f,大小写均可。输出时都是以第一种形式展示。
  • cidr cidr(无类别域间路由,Classless Inter-Domain Routing)类型,保存一个IPv4或IPv6网络地址。声明网络格式为address/y,address表示IPv4或者IPv6地址,y表示子网掩码的二进制位数。如果省略y,则掩码部分使用已有类别的网络编号系统进行计算,但要求输入的数据已经包括了确定掩码所需的所有字节。 表2 cidr类型输入举例 cidr输入 cidr输出 abbrev(cidr) 192.168.100.128/25 192.168.100.128/25 192.168.100.128/25 192.168/24 192.168.0.0/24 192.168.0/24 192.168/25 192.168.0.0/25 192.168.0.0/25 192.168.1 192.168.1.0/24 192.168.1/24 192.168 192.168.0.0/24 192.168.0/24 10.1.2 10.1.2.0/24 10.1.2/24 10.1 10.1.0.0/16 10.1/16 10 10.0.0.0/8 10/8 10.1.2.3/32 10.1.2.3/32 10.1.2.3/32 2001:4f8:3:ba::/64 2001:4f8:3:ba::/64 2001:4f8:3:ba::/64 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128 2001:4f8:3:ba:2e0:81ff:fe22:d1f1 ::ffff:127.0.0.0/120 ::ffff:127.0.0.0/120 ::ffff:127.0.0.0/120 ::ffff:127.0.0.0/128 ::ffff:127.0.0.0/128 ::ffff:127.0.0.0/128
  • 自动寻主场景 某客户存在一套集中式数据库实例,包含1主2备三个节点{node1,node2,node3},其中node1为主节点,node2、node3为备节点。 客户希望应用连接能建立在主DN上,并在发生主备切换时,自动选择新的主节点建连,则url可参考如下命令进行配置: jdbc:gaussdb://node1,node2,node3/database?targetServerType=master
  • 高性能场景 某客户对于相同sql可能多次执行,仅是传参不同的情况,为了提升执行效率,可开启prepareThreshold参数,避免重复生成执行计划,url可参考如下命令进行配置: jdbc:gaussdb://node1/database?prepareThreshold=5 某客户一次查询1000万数据,为避免同时返回造成内存溢出,可使用defaultRowFetchSize,url可参考如下命令进行配置: jdbc:gaussdb://node1/database?defaultRowFetchSize=50000 某客户需要批量插入1000万数据,为提升效率,可使用batchMode,url可参考如下命令进行配置: jdbc:gaussdb://node1/database?batchMode=on
  • 容灾场景 某客户有两套数据库实例,其中A数据库实例为生产数据库实例,B数据库实例为容灾数据库实例。当客户执行容灾切换时,A数据库实例将降为容灾数据库实例,B数据库实例将升为生产数据库实例。此时为了避免修改配置文件导致的应用重启或重新发版,客户可在初始配置文件时,即将A、B数据库实例写入连接串中。此时在主数据库实例不可连接时,驱动将尝试对容灾数据库实例建连。例如A数据库实例为{node1,node2,node3}。B数据库实例为{node4,node5,node6}。 url可参考如下命令进行配置: jdbc:gaussdb://node1,node2,node3,node4,node5,node6/database?priorityServers=3
  • 应用无损透明场景 在数据库实例进行计划内维护(重启数据库实例、主备切换、节点重启、DN重启等操作)时,JDBC和DN的连接会断开。可以开启计划内ALT特性,实现连接保持功能,url中可参考如下命令进行配置。gns不支持浮动IP方式配置。 只开启状态通知功能。 jdbc:gaussdb://node1/database?enableALT=true&gns=ip1:port1,ip2:port2,ip3:port3 开启加速连接以及快速断连功能。 jdbc:gaussdb://node1/database?enableALT=true&altLevel=C&gns=ip1:port1,ip2:port2,ip3:port3 开启加速连接、快速断连以及计划内维护功能。 jdbc:gaussdb://node1/database?enableALT=true&altLevel=P&gns=ip1:port1,ip2:port2,ip3:port3
  • 参数说明 name 已有外部数据封装的名称。 HANDLER handler_function 为外部数据封装指定一个新的处理函数。 NO HANDLER 这个参数用来指定外部数据封装不再拥有处理函数。 使用外部数据封装但没有handler的外表不能访问。 VALIDATOR validator_function 为外部数据封装指定一个新的验证函数。 根据新的验证器,外部数据封装器或依赖的服务器、 用户映射或外部表的已经存在的选项是有可能是无效的。用户在使用外部数据封装之前需要保证这些选项是正确的。 不过,ALTER FOREIGN DATA WRAPPER 命令中指定的任何选项都将使用新的验证函数检查。 NO VALIDATOR 这个用来指定外部数据封装不再有验证函数。 OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) 修改外部数据封装的选项。 ADD, SET, 和 DROP 指定表现的动作。如果没有明确指定操作默认是ADD。选项名必须唯一。 使用外部数据封装验证函数时,名字和取值也会被验证。 new_owner 外部数据封装新的所有者的用户名。 new_name 外部数据封装的新名称。
  • 示例 --修改一个外部数据封装dbi,增加选项foo,删除bar gaussdb=# ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP 'bar'); --修改外部数据封装dbi验证器为bob.myvalidator gaussdb=# ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;
  • 语法格式 设置外部数据封装属性 ALTER FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ]; 设置新的所有者 ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner; 设置新的名称 ALTER FOREIGN DATA WRAPPER name RENAME TO new_name;
  • PG_REPLICATION_SLOTS PG_REPLICATION_SLOTS视图显示复制槽的信息。 表1 PG_REPLICATION_SLOTS字段 名称 类型 描述 slot_name text 复制槽的名称。 plugin text 逻辑复制槽对应的输出插件名称。 slot_type text 复制槽的类型。 physical:物理复制槽。 logical:逻辑复制槽。 datoid oid 复制槽所在的数据库OID。 database name 复制槽所在的数据库名称。 active boolean 复制槽是否为激活状态。 t(true):表示是。 f(false):表示不是。 xmin xid 数据库需要为复制槽保留的最早事务的事务号。 catalog_xmin xid 数据库需要为逻辑复制槽保留的最早的涉及系统表的事务的事务号。 restart_lsn text 复制槽需要的最早xlog的物理位置。 dummy_standby boolean 预留参数。 confirmed_flush text 逻辑复制槽专用,客户端确认接收到的日志位置。 confirmed_csn xid 逻辑复制槽专用,客户端确认接收到的日志中最后一个事务对应的CSN。 示例: gaussdb=# SELECT * FROM pg_replication_slots; slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn | dummy_standby | confirmed_flush | confirmed_csn -----------+----------------+-----------+--------+----------+--------+------+--------------+-------------+---------------+-----------------+--------------- dn_6002 | | physical | 0 | | t | | | 0/3622B528 | f | | dn_6003 | | physical | 0 | | t | | | 0/3622B528 | f | | slot_lsn | mppdb_decoding | logical | 131072 | db_test | f | | 66658 | 0/36252350 | f | 0/362523D0 | slot_test | mppdb_decoding | logical | 131072 | db_test | f | | 66658 | 0/36251718 | f | | 10025527 (4 rows) 在DN上执行查询,LSN序逻辑复制槽的confirmed_csn查询结果为空,CSN序逻辑复制槽的confirmed_flush查询结果为空。 父主题: 其他系统视图
共100000条