正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用非初级类型的宿主变量 非初级类型的宿主变量包括数组、typedef、结构体和指针类型的宿主变量。 数组 有两种将数组作为宿主变量的情况。第一种情况是在char[]或者VARCHAR[]中存储一些文本字符串。第二种情况是可在检索多行查询结果时不使用游标。如果不使用数组,则处理多
COMMENT 功能描述 定义或修改一个对象的注释。 注意事项 每个对象只存储一条注释,因此要修改一个注释,对同一个对象发出一条新的COMMENT命令即可。要删除注释,在文本字符串的位置写上NULL即可。当删除对象时,注释自动被删除。 目前注释浏览没有安全机制,任何连接到某数据库
MY_IND_PARTITIONS MY_IND_PARTITIONS视图显示当前用户下的一级分区表Local索引的索引分区信息(不包含分区表全局索引)。所有用户都可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 MY_IND_PARTITIONS字段
表设计最佳实践 使用分区表 分区表是把逻辑上的一张表根据某种方案分成几张物理块进行存储。这张逻辑上的表称之为分区表,物理块称之为分区。分区表是一张逻辑表,不存储数据,数据实际是存储在分区上的。分区表和普通表相比具有以下优点: 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索效率。
使用gs_loader工具导入数据 操作场景 对于copy to导出的文件,可以使用gs_loader工具进行数据导入。gs_loader将控制文件支持的语法转换为\COPY语法,然后利用已有的\COPY功能,做主要数据导入工作,同时gs_loader将\COPY结果记录到日志中。
其他优化器选项 cost_model_version 参数说明:此参数用来指定优化器代价模型的版本。可以视作一个保护参数,用来禁用最新的优化器代价模型,保持和旧版本计划一致。改变此参数,可能会导致很多SQL计划的改变。因此修改前请谨慎评估。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
ALTER DATABASE 功能描述 修改数据库的属性,包括它的名称、所有者、连接数限制、对象隔离属性等。 注意事项 只有数据库的所有者或者被授予了数据库ALTER权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。针对所要修改属性的不同,还有以下权限约束:
Schema Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。 每个数据库包含一个或多个Schema。数据库中的每个Schema包含表和其他类
开发步骤 准备相关驱动和依赖库。可以从发布包中获取,包名为GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Python.tar.gz。 解压后有两个文件夹: psycopg2:psycopg2库文件。 lib:lib库文件。 加载驱动。 在使用驱动之前,需要做如下操作:
type DB type DB如下表所示。 方法 描述 返回值 (db *DB)Begin() 开启一个事务,事务的隔离级别由驱动决定。 *Tx, error (db *DB)BeginTx(ctx context.Context, opts *TxOptions) 开启一个给定
ADM_TAB_PARTITIONS ADM_TAB_PARTITIONS视图存储数据库下所有的一级分区信息(包括二级分区表)。默认只有系统管理员权限才可以访问此系统视图,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS schema下。分布式暂不支持二级
行级访问控制 行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。 用户可以在数据表创建行访问控制(Row Level Security)策略,该策略是指针对特定数据库用户、特定SQL操作生效
ALTER DATABASE 功能描述 修改数据库的属性,包括它的名称、所有者、连接数限制、对象隔离属性等。 注意事项 只有数据库的所有者或者被授予了数据库ALTER权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。针对所要修改属性的不同,对其还有以下权限约束:
COMMENT 功能描述 定义或修改一个对象的注释。 注意事项 每个对象只存储一条注释,因此要修改一个注释,对同一个对象发出一条新的COMMENT命令即可。要删除注释,在文本字符串的位置写上NULL即可。当删除对象时,注释自动被删除掉。 目前注释浏览没有安全机制:任何连接到某数据
type DB type DB如下表所示。 方法 描述 返回值 (db *DB)Begin() 开启一个事务,事务的隔离级别由驱动决定。 *Tx, error (db *DB)BeginTx(ctx context.Context, opts *TxOptions) 开启一个给定
Psycopg包 准备相关驱动和依赖库。可以从发布包中获取,包名为GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Python.tar.gz。 解压后有两个文件夹: psycopg2:psycopg2库文件。 lib:lib库文件。 加载驱动。 在使用驱动之前,需要做如下操作:
Psycopg包 准备相关驱动和依赖库。可以从发布包中获取,包名为GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Python.tar.gz。 解压后有两个文件夹: psycopg2:psycopg2库文件。 lib:lib库文件。 加载驱动。 在使用驱动之前,需要做如下操作:
ADM_TAB_PARTITIONS ADM_TAB_PARTITIONS视图显示数据库下所有的一级分区信息(包括二级分区表)。默认只有系统管理员权限才可以访问,普通用户需要授权才可以访问。该视图同时存在于PG_CATALOG和SYS Schema下。分布式暂不支持二级分区,所以
SQL查询最佳实践 根据数据库的SQL执行机制以及大量的实践总结发现:通过一定的规则调整SQL语句,在保证结果正确的基础上,能够提高SQL执行效率。 使用union all代替union union在合并两个集合时会执行去重操作,而union all则直接将两个结果集合并、不执行
type DB type DB如下表所示。 方法 描述 返回值 (db *DB)Begin() 开启一个事务,事务的隔离级别由驱动决定。 *Tx, error (db *DB)BeginTx(ctx context.Context, opts *TxOptions) 开启一个给定