返回首页

gbase数据、南大通用产品文档:GBase8s初始化类型

更新日期:2024年09月11日

数据库服务器的初始化包含两种相关活动:共享内存初始化和磁盘空间初始化。
共享内存初始化或启动服务器将确定数据库服务器共享内存的如下内容:内部表、缓冲区
和共享内存通信区。共享内存将在每次启动数据库服务器时初始化。从命令行使用 oninit
实用程序来初始化数据库服务器共享内存,并使数据库服务器联机。
共享内存初始化还会在您重新启动数据库服务器时发生。
区分共享内存初始化与磁盘空间初始化的关键差异:
共享内存初始化对磁盘空间分配或布局没有影响。不会删除任何数据。
磁盘空间初始化使用存储在配置文件中的值以在磁盘上创建根数据库空间的初始块。当您
初始化磁盘空间时,作为过程的一部分,数据库服务器将自动初始化共享内存。磁盘空间
将在第一次启动数据库服务器时初始化。之后,它将只有在冷复原期间或在数据库服务器
管理员的请求下才初始化。
警告: 当您初始化磁盘空间时,您将覆盖该磁盘空间上的所有内容。如果您重新初始化现有数据库服务
器的磁盘空间,那么较早数据库服务器中的所有数据都将无法访问,并且实际上会将其删除。

远程导出功能默认使用导出客户端所在机器的16066-16165 端口范围作为导出服
务的临时端口。
其端口范围可通过修改配置文件参数进行配置,
参数如下表所示。
表5- 161 参数说明
名称
最小值
最大值
默认值
remote_export_min_port
1025
65535
16066
remote_export_max_port
1025
65535
16166
使用远程导出功能前请先确认该端口范围正常开放,且未被占用,否则可能导致
远程导出失败。

功能描述
修改自定义存储过程的属性。
注意事项
只有存储过程的所有者或者被授予了存储过程ALTER 权限的用户才能执行ALTER
PROCEDURE 命令,系统管理员默认拥有该权限。针对所要修改属性的不同,还有以下权
限约束:
如果存储过程中涉及对临时表相关的操作,则无法使用ALTER PROCEDURE。
修改存储过程的所有者或修改存储过程的模式,
当前用户必须是该存储过程的所有者或
者系统管理员,且该用户是新所有者角色的成员。
只有系统管理员和初始化用户可以将procedure 的schema 修改成public。
语法格式

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
725

修改自定义存储过程的附加参数。
ALTER PROCEDURE procedure_name ( [ { [ argname ] [ argmode ] argtype} [, ...] ] )
action [ ... ] [ RESTRICT ];
其中附加参数action 子句语法为。
{CALLED ON NULL INPUT
| STRICT}
| {IMMUTABLE | STABLE | VOLATILE}
| {SHIPPABLE | NOT SHIPPABLE}
| {NOT FENCED | FENCED}
| [ NOT ] LEAKPROOF
| { [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER }
| AUTHID { DEFINER | CURRENT_USER }
| COST execution_cost
| ROWS result_rows
| SET configuration_parameter { { TO | = } { value | DEFAULT }| FROM CURRENT}
| RESET {configuration_parameter | ALL}

修改自定义存储过程的名称。
ALTER PROCEDURE proname ( [ { [ argname ] [ argmode ] argtype} [, ...] ] )
RENAME TO new_name;

修改自定义存储过程的所属者。
ALTER PROCEDURE proname ( [ { [ argname ] [ argmode ] argtype} [, ...] ] )
OWNER TO new_owner;

修改自定义存储过程的模式。
ALTER PROCEDURE proname ( [ { [ argname ] [ argmode ] argtype} [, ...] ] )
SET SCHEMA new_schema;
参数说明

procedure_name
要修改的存储过程名称。
取值范围:已存在的存储过程名。

argmode
标识该参数是输入、输出参数。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
726
取值范围:IN/OUT/INOUT/VARIADIC。

argname
参数名称。
取值范围:字符串,符合标识符命名规范。

argtype
存储过程参数的类型。

CALLED ON NULL INPUT
表明该存储过程的某些参数是NULL 的时候可以按照正常的方式调用。缺省时与指定
此参数的作用相同。

IMMUTABLE
表示该存储过程在给出同样的参数值时总是返回同样的结果。

STABLE
表示该存储过程不能修改数据库,对相同参数值,
在同一次表扫描里,该函数的返回值
不变,但是返回值可能在不同SQL 语句之间变化。

VOLATILE
表示该存储过程值可以在一次表扫描内改变,不会做任何优化。

NOT FENCED | FENCED
FENCED 或NOT FENCED:这个子句指定例程是否被认为可以在数据库管理器操作环
境的进程或地址空间中“安全地”运行。

LEAKPROOF
表示该存储过程没有副作用,指出参数只包括返回值。LEAKPROOF 只能由系统管理
员设置。

EXTERNAL

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
727
(可选)目的是和SQL 兼容,这个特性适合于所有函数,而不仅是外部函数。

SECURITY INVOKER AUTHID CURRENT_USER
表明该存储过程将以调用它的用户的权限执行。缺省时与指定此参数的作用相同。
SECURITY INVOKER 和AUTHID CURRENT_USER 的功能相同。

SECURITY DEFINER AUTHID DEFINER
声明该存储过程将以创建它的用户的权限执行。
AUTHID DEFINER 和SECURITY DEFINER 的功能相同。

COST execution_cost
用来估计存储过程的执行成本。
execution_cost 以cpu_operator_cost 为单位。
取值范围:正数。

ROWS result_rows
估计存储过程返回的行数。用于存储过程返回的是一个集合。
取值范围:正数,默认值是1000 行。

configuration_parameter value
把指定的数据库会话参数值设置为给定的值。如果value 是DEFAULT 或者RESET,

在新的会话中使用系统的缺省设置。OFF 关闭设置。
取值范围:字符串。

DEFAULT

OFF

RESET
指定默认值。

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
728

from current
取当前会话中的值设置为configuration_parameter 的值。

new_name
存储过程的新名称。要修改存储过程的所属模式,必须拥有新模式的CREATE 权限。
取值范围:字符串,符合标识符命名规范。

new_owner
存储过程的新所有者。
要修改存储过程的所有者,
新所有者必须拥有该存储过程所属模
式的CREATE 权限。
取值范围:已存在的用户角色。

new_schema
存储过程的新模式。
取值范围:已存在的模式。
示例
请参见CREATE FUNCTION 的示例。
相关链接
CREATE PROCEDURE,DROP PROCEDURE