返回首页

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

更新日期:2024年09月11日

以主备式集群为例。
示例1:使用方式一修改GBase 8c 数据库主节点的最大连接数。
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
616
(3)
查看最大连接数。
gsql=# SHOW max_connections;
max_connections
-----------------
200
(1 row)
(4)
使用如下命令退出数据库。
gsql=# \q
(5)
修改GBase 8c 数据库主节点的最大连接数。
gs_guc set -N all -I all -c "max_connections = 800"
(6)
重启GBase 8c。
gs_om -t stop && gs_om -t start
(7)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(8)
查看最大连接数。
gsql=# SHOW max_connections;
max_connections
-----------------
800
(1 row)
示例2 :使用方式二设置数据库主节点的客户端认证最长时间参数
“authentication_timeout”
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
使用如下命令连接数据库。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
617
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql((gsql x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385
release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(3)
查看客户端认证的最长时间。
gsql=# SHOW authentication_timeout;
authentication_timeout
------------------------
1min
(1 row)
(4)
使用如下命令退出数据库。
gsql=# \q
(5)
修改数据库主节点的客户端认证最长时间。
gs_guc reload -N all -I all -c "authentication_timeout = 59s"
(6)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql((gsql x.x.x build f521c606) compiled at 2021-09-16 14:55:22 commit 2935 last mr 6385
release)
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(7)
查看客户端认证的最长时间。
gsql=# SHOW authentication_timeout;
authentication_timeout
------------------------

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
618
59s
(1 row)
示例3:修改GBase 8c 数据库节点的最大连接数。
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(3)
查看最大连接数。
gsql=# SHOW max_connections;
max_connections
-----------------
200
(1 row)
(4)
使用如下命令退出数据库。
gsql=# \q
(5)
修改数据库节点的最大连接数。
gs_guc set -N all -I all -c "max_connections = 500"
(6)
重启GBase 8c。
gs_om -t stop
gs_om -t start
(7)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
619
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(8)
查看最大连接数。
gsql=# SHOW max_connections;
max_connections
-----------------
500
(1 row)
示例4:设置数据库节点的客户端认证最长时间参数“authentication_timeout”
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(3)
查看客户端认证的最长时间。
gsql=# SHOW authentication_timeout;
authentication_timeout
------------------------
1min
(1 row)
(4)
使用如下命令退出数据库。
gsql=# \q
(5)
修改数据库节点的客户端认证最长时间。
gs_guc reload -N all -I all -c "authentication_timeout = 30s"

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
620
(6)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GBase8c 3.0.0BXX build d28887c9) compiled at 2022-05-13 11:31:40 commit 0 last mr
55 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
gsql=#
(7)
查看客户端认证的最长时间。
gsql=# SHOW authentication_timeout;
authentication_timeout
------------------------
30s
(1 row)
15 用户自定义函数

PG_REWRITE 系统表存储为表和视图定义的重写规则。
名称
类型
描述
oid
oid
行标识符(隐含属性,必须明确选择)。
rulename
name
规则名称。
ev_class
oid
使用这条规则的表名称。
ev_attr
smallint
这条规则适用的字段
(目前总是为零,
表示整个表)

ev_type
“char”
规则适用的事件类型:
1 = SELECT。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
807
名称
类型
描述
2 = UPDATE。
3 = INSERT。
4 = DELETE。
ev_enabled
“char”
用于控制复制的触发。
O =“origin”和“local”模式时触发。
D =禁用触发。
R =“replica”时触发。
A =任何模式是都会触发。
is_instead
boolean
如果该规则是INSTEAD 规则,则为真。
ev_qual
pg_node_tree
规则的资格条件的表达式树
(以nodeToString()形式
存在)。
ev_action
pg_node_tree
规则动作的查询树(以nodeToString()形式存在)。

下列语句修改数据:

DELETE

INSERT

MERGE

UPDATE
当与更高级的 SELECT 语句相比时,虽然这些 SQL 语句相对简单,但由于它们更改数据
库的内容,因此请小心使用它们。
如果在查询期间系统硬件或软件出现故障,请考虑会发生什么。即使对应用程序的影响是
严重的,也不会破坏数据库自身。然而,如果正在进行修改时系统发生故障,则数据库的
状态就不确定了。显然,处于不确定状态的数据库具有深远的影响。在数据库中删除、插
入或更新行之前,请询问自己下列问题:

用户对数据库及其表的访问是否安全。即,是否将有限的数据库和表级别权限授予
特定用户?

修改了的数据是否保持数据库现有的完整性?

系统的状况是否使其对可能导致系统或硬件故障的外部事件具有相对较强的免疫
力?
如果对这些问题不能都回答
“是”

也不用担心。
对所有这些问题的解决方案都内建在 GBase
8s 数据库服务器内。
在对修改数据的语句进行描述之后,
这部分讨论这些解决方案。
GBase
8s 数据库设计和实现指南 更详细地讨论这些主题。