返回首页

gbase数据、南大通用产品文档:GBase8c

更新日期:2024年09月11日

命令参考
表11- 13 gs_dbmind component forecast 命令行说明
参数
参数说明
取值范围
-h, --help
帮助命令
-
action
动作参数
show:结果展示
clean:清理结果
-c,--conf
配置目录
-
--metric-name
指定显示指标名,用于过滤
-
--host
指定服务IP 和端口号,用于过滤
-
--start-time
显示开始时间的时间戳,单位毫秒
非负实数
--end-time
显示结束时间的时间戳,单位毫秒
非负实数
--retention-days
保留结果天数
非负实数

invmuldbl() 函数将 interval 值乘以数值的值。

语法
mint invmuldbl(iv, num, ov)
intrvl_t *iv;
double num;
intrvl_t *ov;
iv
指向要相乘的 interval 变量的指针。
num
数值的 double 值。
ov
指向带有有效的限定符的 interval 变量的指针。

用法
invmuldbl() 函数将 iv 中的 interval 值乘以 num,并将结果存储在 ov 中。num 中
的值可正可负。

输入和输出限定符都必须属于同一 interval 类:
或者 year to month 类,
或者 day to
fraction(5) 类。
如果 ov 的限定符不同于 iv 的限定符
(但属于同于类)

则 invmuldbl() 扩
展该结果(如 invextend() 函数定义的那样)。


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 845 -

返回代码
0
乘法成功。
<0
乘法失败。
-1200
数值的值(大小)太大。
-1201
数值的值(大小)太小。
-1266
interval 值与该操作不兼容。
-1268
参数包含无效的 interval 限定符。

示例
demo 目录的文件 invmuldbl.ec 中包含此样例程序。
该示例说明如何将 interval 值与
数值的值相乘。第二个相乘说明当输入与输出限定符不同时 interval 乘法的结果。
/*
* invmuldbl.ec *

The following program multiplies an INTERVAL type variable by a numeric value and
stores the result in an INTERVAL variable. The operation is done twice, using INTERVALs with
different qualifiers to store the result.
*/

#include

EXEC SQL include datetime;

main()
{
char out_str[16];


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 846 -

EXEC SQL BEGIN DECLARE SECTION;
interval hour to minute hrtomin1;
interval hour to minute hrtomin2;
interval day to second daytosec;
EXEC SQL END DECLARE SECTION;

printf("INVMULDBL Sample ESQL Program running.\n\n");


/* input is 25 hours, and 49 minutes */
printf("Interval (hour to minute) = 25:49\n");
incvasc("25:49", &hrtomin1);
printf("Multiplier (double) = 3.0\n");
printf("--------------------------------------\n");

/* Convert the internal format to ascii for displaying */
invmuldbl(&hrtomin1, (double) 3.0, &hrtomin2);
intoasc(&hrtomin2, out_str);
printf("Product #1 (hour to minute)= '%s'\n", out_str);

/* Convert the internal format to ascii for displaying */
invmuldbl(&hrtomin1, (double) 3.0, &daytosec);
intoasc(&daytosec, out_str);
printf("Product #2 (day to second)='%s'\n", out_str);

printf("\nINVMULDBL Sample Program over.\n\n");
}
输出
INVMULDBL Sample ESQL Program running.

Interval (hour to minute) = 25:49
Multiplier (double) = 3.0
---------------------------------------------

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 847 -

Product #1 (hour to minute) = ' 77:27'
Product #2 (day to second) = ' 3 05:27:00'
INVMULDBL Sample Program over.

(1)
初始化备份目录。在指定的目录下创建backups/和wal/子目录,分别用于存放备份文件
和WAL 文件。
gs_probackup init -B backup_dir
(2)
添加一个新的备份实例。
gs_probackup 可以在同一个备份目录下存放多个数据库实例的
备份。
gs_probackup add-instance -B backup_dir -D data_dir --instance instance_name
(3)
创建指定实例的备份。在进行增量备份之前,必须至少创建一次全量备份。
gs_probackup backup -B backup_dir --instance instance_name -b backup_mode

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
282
(4)
从指定实例的备份中恢复数据。
gs_probackup restore -B backup_dir --instance instance_name -D pgdata-path -i
backup_id