检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
package_name 要修改的package名称。 取值范围:已存在的package名,仅支持修改单个package。 new_owner package的新所有者。要修改函数的所有者,新所有者必须拥有该package所属模式的CREATE权限。 取值范围:已存在的用户角色。 示例 修改PACKAGE的所有者。
Ustore表不指定创建索引类型,默认创建的是UBTree索引。 UBTree索引分为RCR版本和PCR版本,默认创建RCR版本的UBTree。若在创建索引时with选项指定(index_txntype=pcr)或者指定GUC的index_txntype=pcr,则创建的是PCR版本的UBTree。 gaussdb=#
UBTree的区别是,PCR(Page Consistency Read) 的多版本管理是基于页面的多版本管理,所有元组的事务信息统一由TD槽进行管理。 PCR UBTree可见性机制 PCR UBTree可见性判断是通过把页面回滚到快照可见的时刻得到元组全部可见的页面完成的。 PCR
Enhanced Toast使用 新增的GUC参数enable_enhance_toast_table用于控制线外存储结构。“enable_enhance_toast_table=on”表示使用Enhanced Toast线外存储表,“enable_enhance_toast_t
开发流程 图1 ecpg整体开发流程 图2 嵌入式SQL-C程序开发流程 父主题: 基于ecpg开发
选项与新外部表或外部表中的字段有关。允许的选项名称和值,是由每一个外部数据封装器指定的。 也是通过外部数据封装器的验证函数来验证。重复的选项名称是不被允许的(尽管表选项和表字段选项可以有相同的名字)。 file_fdw支持的options包括: filename 指定要读取的文件,必需的参数,且必须是一个绝对路径名。
& | ` ? 选择名字的时候有几个限制: --和/*不能在操作符名的任何地方出现, 因为它们会被认为是一个注释的开始。 一个多字符的操作符不能以+或-结尾, 除非该名字还包含至少下面字符之一: ~ ! @ # % ^ & | ` ? => 作为一个操作符名的使用已经废弃了。 操作符
开发流程 图1 采用Psycopg2开发应用程序的流程 父主题: 基于Psycopg开发
参数说明 trigger_name 要修改的触发器名称。 取值范围:已存在的触发器。 table_name 要修改的触发器所在的表名称。 取值范围:已存在的含触发器的表。 new_name 修改后的新名称。 取值范围:符合标识符命名规范的字符串,最大长度不超过63个字符,且不能与所在表上其他触发器同名。
directory 导入的database的数据源目录。 user 导入后库的属主。 LOCAL 指定该字段表示导入到原集群,如不指定表示导入到新集群。 示例 --IMPDP DATABASE CREATE语法用于细粒度备份恢复,由备份恢复工具调用,用户直接调用可能会提示目录不
开发流程 图1 采用JDBC开发应用程序的流程 父主题: 基于JDBC开发
常见问题及定位手段 snapshot too old storage test error 备机读业务报错:"UBTreeSearch::read_page has conflict with recovery, please try again later" 长查询执行期间大量并发更新偶现写入性能下降
UBtree的多版本管理是基于数据行的行级多版本管理,将XID记录在了数据行上,会增加Key的大小,索引会有5-20%左右的膨胀。最新版本和历史版本均在btree上,索引没有记录Undo信息。插入或者删除key时按照key + TID的顺序排列,索引列相同的元组按照对应元组的TID作
列表分区自动扩展 开启列表分区的自动扩展功能,需要在创建分区时指定AUTOMATIC关键字。列表分区自动扩展支持一级分区和二级分区自动扩展。 使用列表分区的自动扩展功能,要求分区表中不能包含分区键值为DEFAULT的分区。 使用列表分区的自动扩展功能,需合理设计分区列,避免大量扩
回滚段管理 每个undo zone除了管理部分transaction page(用于存储事务回滚的元数据)外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。
回滚段管理 每个undo zone除了管理部分txn page外,还管理undo page。 Undo页面中存储undo row,对数据的修改会将历史版本记录到Undo中。 Undo记录也是数据,因此对Undo页面的修改同样会记录Redo。 父主题: Undo
在嵌入式SQL程序中也可以使用C语言版本的#define和#undef。区别在于定义的值会在哪里被计算,如果使用EXEC SQL DEFINE,那么ecpg预处理阶段会计算这些定义并替换值。如下示例,ecpg对其进行替换并且编译器不会解析名为MYNUMBER的任何名称或标识符: EXEC SQL
CallableStatement java.sql.CallableStatement是存储过程执行接口。 表1 对java.sql.CallableStatement的支持情况 方法名 返回值类型 支持JDBC 4 getArray(int parameterIndex) Array Yes getBigDecimal(int
SQLAllocConnect 在ODBC 3.x版本中,ODBC 2.x的函数SQLAllocConnect已被SQLAllocHandle代替。有关详细信息请参见SQLAllocHandle。 父主题: ODBC接口参考
在ecpg缺省模式下,语句只有在EXEC SQL COMMIT发出的时候才被提交,嵌入的SQL接口也支持事务的自动提交(通过EXEC SQL SET AUTOCOMMIT TO ON语句设置自动提交)。在自动提交模式下,每条命令都是自动提交的,除非它们包围在一个明确的事务块里。自动提交模式可以用EXEC SQL