检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
FOR语句打开动态游标,动态绑定SQL语句。 打开动态游标的语法图,请参见图5。 图5 open_dynamic_cursor::= PL/SQL程序不能用OPEN语句重复打开一个游标。 提取游标数据:检索结果集合中的数据行,放入指定的输出变量中。 提取游标数据的语法图,请参见图6。 图6 fetch_cursor::=
100及以上集群版本,默认值为1。表示一次只能生成一个值,即没有缓存。 不建议同时定义cache和maxvalue或minvalue。因为定义cache后不能保证序列的连续性,可能会产生空洞,造成序列号段浪费。 建议cache值不要设置过大,否则会出现缓存序列号时(每个cache周期的第一个ne
列存轻量化UPDATE通过GUC参数enable_light_colupdate控制是否开启,默认关闭。 列存轻量化UPDATE在以下场景不能使用:更新索引列,更新主键列,更新分区列,更新PCK列和在线扩容,会自动转化为普通UPDATE方式。 列存轻量化UPDATE与后台列存AU
"memory is temporarily unavailable" SQLSTATE: 53200 错误原因:集群负载太高导致内存不足,申请内存时,无法满足需求,则报该错误。 解决办法:确定内存占用较高的节点,排查业务,找到不下推的语法或函数,或降低客户端并发度。 父主题: GAUSS-04301
GAUSS-04402: "Path can not include whitespace" SQLSTATE: 22023 错误原因:指定的路径中不能包含空格。 解决办法:重新指定一个不包含空格符的路径。 GAUSS-04403: "Can only access temp objects
source_table语法对分区表错误指定了INCLUDING PARTITION。 解决办法:CREATE TABLE ... LIKE source_table语法不能对分区表指定了INCLUDING PARTITION。 GAUSS-00326: "could not specify 2 or more
错误原因:DROP EXTENSION时,EXTENSION正在被别的session修改。 解决办法:DROP EXTENSION时,EXTENSION不能正在被别的session修改。 GAUSS-01500: "pg_extension_config_dump() can only be called
查询过滤规则适用的客户端IP。 取值范围:字符串,有效的IP地址。 SQL 查询过滤规则正则匹配语句。 取值范围:字符串,正则表达式。正则匹配的语句或者关键词长度不能超过1024个字符。 template_parameter 查询过滤规则匹配模板。 取值范围:unique_sql_id/sql_hash
决定一个新用户是否能操作外表,包括:新建外表、删除外表、修改外表、读写外表。 新用户没有操作外表的权限。 缺省为NOUSEFT,表示新建用户默认不能操作外表。 LOGIN | NOLOGIN 具有LOGIN属性的用户才可以登录数据库。 缺省为NOLOGIN。 REPLICATION |
适用于被连接的数据子集较小的查询。在嵌套循环中,外表驱动内表,外表返回的每一行都要在内表中检索找到它匹配的行,因此整个查询返回的结果集不能太大(不能大于10000),要把返回子集较小的表作为外表,而且在内表的连接字段上建议要有索引。 MergeJoin 归并连接(输入有序),内外表
角色是否可以创建数据库。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 rolcanlogin boolean 角色是否可以登录,即该角色是否能够作为初始会话授权标识符。 rolreplication
角色是否可以创建数据库。 rolcatupdate boolean 角色是否可以直接更新系统表。只有usesysid=10的初始系统管理员拥有此权限。其他用户无法获得此权限。 rolcanlogin boolean 角色是否可以登录,即该角色是否能够作为初始会话授权标识符。 rolreplication
from_list 一个表的表达式列表,允许在WHERE条件里使用其他表的字段。与在一个SELECT语句的FROM子句里声明表列表类似。 目标表绝对不能出现在from_list里,除非在使用一个自连接(此时它必须以from_list的别名出现)。 condition 一个返回boolean
对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语句停顿,以一个分号结束。输入“/”按回车执行它。 最后的结束符“/”必须独占一行,不能直接跟在END后面。 声明部分包括变量定义、类型、游标定义等。 最简单的匿名块不执行任何命令。但一定要在任意实施块里至少有一个语句,甚至是一个NULL语句。
的名称。 guc_value表示hint指定的配置参数的值。 如果hint设置的配置参数在语句级别生效,则该hint必须写在顶层查询中,而不能写在子查询中。对于UNION、INTERSECT、EXCEPT和MINUS语句,可以将在语句级别的guc hint写在参与集合运算的任意一个SELECT子句上,该guc
通过ALTER修改enable_hstore值可以将列存表变成HStore表,或者将HStore修改成列存表。但需要注意enable_delta为on时,无法设置enable_hstore为on。 对于部分ALTER操作(修改列类型,分区合并,添加NOT NULL约束,添加主键约束),HStor
通过ALTER修改enable_hstore值可以将列存表变成HStore表,或者将HStore修改成列存表。但需要注意enable_delta为on时,无法设置enable_hstore为on。 对于部分ALTER操作(修改列类型,分区合并,添加NOT NULL约束,添加主键约束),HStor
对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语句停顿,以一个分号结束。输入“/”按回车执行它。 最后的结束符“/”必须独占一行,不能直接跟在END后面。 声明部分包括变量定义、类型、游标定义等。 最简单的匿名块不执行任何命令。但一定要在任意实施块里至少有一个语句,甚至是一个NULL语句。
最终输出结果(实际业务中表public.t2的位置可能是一个非常复杂的子查询),导致了update语句执行结果的随机性,而这个实际业务中是无法接受的。 解决方案 建议根据业务实际情况调整update语句。比如分析public.t2的字段含义,确定更新的目标字段。针对上述案例,如果期望在a值相等的情况下,把public
VACUUM对每个表维护了一个可视化映射来跟踪包含对别的活动事务可见的数组的页。一个普通的索引扫描首先通过可视化映射来获取对应的数组,来检查是否对当前事务可见。若无法获取,再通过堆数组抓取的方式来检查。因此更新表的可视化映射,可加速唯一索引扫描。 VACUUM可避免执行的事务数超过数据库阈值时,事务ID重叠造成的原有数据丢失。