检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
案例:调整基于代价的查询重写GUC参数costbased_rewrite_rule 查询重写能让优化器选择不同的执行路径,但部分规则对SQL的改写,并不能确保输出后的都是可以提升性能的计划。一旦改写错误可能导致千倍的性能差距,因此在查询改写阶段需要对此类规则支持基于代价的评估策略
error_severity ERRORSTATE代码 user_name 用户名 sql_state_code SQLSTATE代码 database_name 数据库名 message 错误消息 process_id 线程ID detail 详细错误消息 connection_from 客户主机:端口号
error_severity ERRORSTATE代码 user_name 用户名 sql_state_code SQLSTATE代码 database_name 数据库名 message 错误消息 process_id 线程ID detail 详细错误消息 connection_from 客户主机:端口号
reload动态修改log_directory时,当指定路径为合法路径时,日志输出到新的路径下。当指定路径为非法路径时,日志输出到上一次合法的日志输出路径下而不影响数据库正常运行。此时即使指定的log_directory的值非法,也会写入到配置文件中。 在沙箱环境,路径中不可以包含/var/chroot,例
DB_SCHEDULER_PROGRAM_ARGS DB_SCHEDULER_PROGRAM_ARG视图显示当前用户可访问程序的有关参数信息。该视图所有用户可访问,显示当前用户可访问的所有信息。该视图同时存在于PG_CATALOG和SYS Schema下。 表1 DB_SCHEDULER_PROGRAM_ARGS字段
PG_USER_MAPPINGS PG_USER_MAPPINGS视图显示用户映射的信息。 该视图只是系统表PG_USER_MAPPING可读部分的视图化表现,如果用户无权使用系统表且查询该视图时,有些选项字段会显示为空。普通用户需要授权才可以访问。 表1 PG_USER_MAPPINGS字段
GS_LOGICALSTANDBY_SKIP_TRANSACTION GS_LOGICALSTANDBY_SKIP_TRANSACTION视图展示定义的SKIP规则,当skiptype为2时(详见GS_SQLAPPLY_SKIP系统表字段),从系统表GS_SQLAPPLY_SKIP中获取如下字段创建或更新系统视图。
PG_USER_MAPPING PG_USER_MAPPING系统表存储从本地用户到远程的映射。 需要有系统管理员权限才可以访问此系统表。普通用户可以使用视图PG_USER_MAPPINGS进行查询。 表1 PG_USER_MAPPING字段 名称 类型 引用 描述 oid oid
GS_LOGICALSTANDBY_SKIP_TRANSACTION GS_LOGICALSTANDBY_SKIP_TRANSACTION视图展示定义的SKIP规则,当skiptype为2时(详见GS_SQLAPPLY_SKIP系统表字段),从系统表GS_SQLAPPLY_SKI
SMP场景下的Partial Partition-wise Join Partial Partition-wise Join是指相互Join的两张表中有一张表是分区表,另一张表可以为任意类型,在任意类型的这张表的上层需要增加一个Stream Redistribute算子,将数据分发后与分区表一侧进行匹配。
SMP场景下的Full Partition-wise Join SMP场景下的Partition-wise Join计划是基于代价选择的,在路径生成的过程中,会对比Partition-wise Join和非Partition-wise Join路径的估算代价,选择代价较低的路径。
* PQexecParams: 执行一个绑定参数的命令,并以二进制格式请求查询结果。 * 在运行这个例子之前,用下面的命令填充一个数据库 * * * CREATE TABLE test1 (i int4, t text); * * INSERT INTO test1
对二级分区表重命名二级分区 使用ALTER TABLE RENAME SUBPARTITION可以对二级分区表重命名二级分区。 例如,通过指定分区名将二级分区表range_list_sales的分区date_202001_channel1重命名。 ALTER TABLE range_list_sales
DECLARE 功能描述 声明一个游标用于迭代预备语句的结果集。该命令与SQL命令的DECLARE在语义上略有不同,后者执行查询并准备结果集以便检索,而嵌入式SQL命令只是将一个名称声明为“循环变量”并用于在查询的结果集上迭代,实际在使用OPEN命令打开游标时执行。 语法格式 DECLARE
EXECUTE IMMEDIATE 功能描述 预备并且执行动态指定的SQL语句,不检索结果行。 语法格式 EXECUTE IMMEDIATE string 参数说明 string 包含要被执行的SQL语句的C字符串或者宿主变量。 示例 使用EXECUTE IMMEDIATE和名为
WHENEVER 功能描述 定义一个行为,它会在SQL执行异常时(行未找到、SQL告警或错误)被调用。 语法格式 WHENEVER { NOT FOUND | SQLERROR | SQLWARNING } action 参数说明 参数描述请参见设置回调章节。 示例 EXEC SQL
DECLARE 功能描述 声明一个游标用于迭代预备语句的结果集。该命令与SQL命令的DECLARE在语义上略有不同,后者执行查询并准备结果集以便检索,而嵌入式SQL命令只是将一个名称声明为“循环变量”并用于在查询的结果集上迭代,实际在使用OPEN命令打开游标时执行。 语法格式 DECLARE
EXECUTE IMMEDIATE 功能描述 预备并且执行动态指定的SQL语句,不检索结果行。 语法格式 EXECUTE IMMEDIATE string 参数说明 string 包含要被执行的SQL语句的C字符串或者宿主变量。 示例 使用EXECUTE IMMEDIATE和名为
DESCRIBE 功能描述 检索预准备语句中包含的结果列的元数据信息。 语法格式 DESCRIBE [ OUTPUT ] prepared_name USING SQL DESCRIPTOR descriptor_name DESCRIBE [ OUTPUT ] prepared_name
Hint可以指定表的查询块名和schema名 功能描述 由于在一个查询中,允许在不同查询块使用相同表名,同时不同schema可以有相同表名,因此hint在指定查询中某个表table时允许指定其所属的查询块名queryblock和schema名,避免歧义。该指定方法支持所有需要指定表名的hint。