返回首页

gbase数据、南大通用产品文档:GBase8a系统表

更新日期:2024年09月11日

本文档描述GBase 8a MPP Cluster 中的系统表。系统表存在于四个database 中,
分别是information_schema,gbase,gclusterdb 及performance_schema。

information_schema 中的信息为元数据信息,
这些信息是通过组织相关对象获
得的,不是预先存储的信息;

gbase 库存放的是一些持久化存储的信息,信息存储在GsSYS 引擎的表中;

gclusterdb 存储的是需要在集群范围保存的信息,使用的是express 引擎;

performance_schema 存储的是运行状态信息。

以主备式集群为例。
使用方式一设置数据库参数,以在数据库主节点设置archive_mode 参数为例。
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
查看archive_mode 参数。
cat /home/gbase/data/dn1/dn1_1/postgresql.conf | grep archive_mode
archive_mode = on
on 表示日志要进行归档操作。
(3)
设置archive_mode 参数为off,关闭日志的归档操作。例如:
gs_guc set -D /home/gbase/data/dn1/dn1_1 -c "archive_mode=off"
说明:可以使用以下命令在数据库节点上设置archive_mode 参数为off。例如:
gs_guc set -N all -I all -c "archive_mode=off"
(4)
重启数据库使参数生效。
gha_ctl stop all -l http://:2379
gha_ctl start all -l http://:2379
(5)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号(根据实际情况指
定端口号。以下端口说明与此相同)。
连接成功后,系统显示类似如下信息:

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
613
gsql ((XXXGBase8c 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=#
(6)
检查参数设置的正确性。
gsql=# SHOW archive_mode;
archive_mode
--------------
off
(1 row)
使用方式二设置参数,以在数据库主节点设置authentication_timeout 参数为例。
(1)
以操作系统用户gbase 登录数据库主节点。
(2)
查看authentication_timeout 参数。
cat /home/gbase/data/dn1/dn1_1/postgresql.conf | grep authentication_timeout
authentication_timeout = 1min
(3)
设置authentication_timeout 参数为59s。
gs_guc reload -N all -I all -c "authentication_timeout = 59s"
Total instances: 2. Failed instances: 0.
Success to perform gs_guc!
说明:可以使用以下命令在数据库节点上设置authentication_timeout 参数为59s。
gs_guc reload -N all -I all -c "authentication_timeout = 59s"
(4)
使用如下命令连接数据库。
gsql -d postgres -p 15432
postgres 为需要连接的数据库名称,15432 为数据库主节点的端口号(根据实际情况,
指定相应端口号)。
连接成功后,系统显示类似如下信息:
gsql ((XXXGBase8c 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.

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
614
gsql=#
(5)
检查参数设置的正确性。
gsql=# SHOW authentication_timeout;
authentication_timeout
------------------------
59s
(1 row)
使用方式三设置参数,以设置explain_perf_mode 参数为例。
(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)
查看explain_perf_mode 参数。
gsql=# SHOW explain_perf_mode;
explain_perf_mode
-------------------
normal
(1 row)
(4)
设置explain_perf_mode 参数。
使用以下任意方式进行设置:
设置数据库级别的参数
gsql=# ALTER DATABASE postgres SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
ALTER DATABASE

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
615
在下次会话中生效。
设置用户级别的参数
gsql=# ALTER USER gbase SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
ALTER ROLE
在下次会话中生效。
设置会话级别的参数
gsql=# SET explain_perf_mode TO pretty;
当结果显示为如下信息,则表示设置成功。
SET
(5)
检查参数设置的正确性。
gsql=# SHOW explain_perf_mode;
explain_perf_mode
--------------
pretty
(1 row)

com.gbasedbt.lang.IntervalYM 类允许您操纵年-月间隔。
IntervalYM 构造函数
缺省的构造函数定义如下:
public IntervalYM() throws SQLException
如果抛出异常,则请使用该构造函数的第二个版本来显示本地化的错误消息:
public IntervalYM(Connection conn) throws SQLException
请使用下列构造函数来从特定的输入值创建年-月间隔:

两个时间戳,返回等于 Timestamp1 - Timestamp2 的 IntervalYM 值:
public IntervalYM(Timestamp t1, Timestamp t2) throws
SQLException
public IntervalYM (Timestamp t1, Timestamp t2, Connectionconn) throws
SQLException
第二个版本允许您支持本地化的错误消息。

年和月值(将大型月份值转换为年):
public IntervalYM(int years, int months) throws
SQLException
public IntervalYM(int years, int months,
Connection conn) throws SQLException
第二个版本允许您支持本地化的错误消息。

月份值和编码的限定符:
public IntervalYM(int months, short qualifier, Connection conn) throws
SQLException
要指定限定符,可使用 Interval 方法 中描述的 getQualifier() 方法。此构造函数支持
本地化的错误消息。

字符串:
public IntervalYM(String string) throws SQLException
public IntervalYM(String string, Connection conn) throws

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 113 -

SQLException
第二个版本允许您支持本地化的错误消息。

字符串和限定符:
public IntervalYM(String string, short qualifier, Connection conn) throws
SQLException
要指定限定符,可使用 Interval 方法 中描述的 getQualifier() 方法。此构造函数支持
本地化的错误消息。

字符和限定符信息:
public IntervalYM(String string, int length, byte startCode, byte endCode)
throws SQLException

public IntervalYM(String string, int length, byte startCode, byte endCode,
Connection conn) throws SQLException
第二个版本允许您支持本地化的错误消息。

IntervalYM 方法
下列方法允许您操纵年-月间隔。(您还可使用前面描述的 Interval 方法。)您可
以 IntervalYM 方法执行的某些任务包括下列:

比较两个间隔:
boolean equals(Object other)
boolean greaterThan(IntervalYM other)
boolean lessThan(IntervalYM other)

从其设置间隔的值:

字符串:
void fromString(String other)
void set(String string)

年和月值(将大型月值转换为年):
void set(int years, int months)

两个时间戳:
void set(Timestamp t1, Timestamp t2)

设置间隔的限定符:

从长度、开始代码和结束代码:
void setQualifier(int length, byte startcode, byte endcode)

使用现有的限定符:

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 114 -

void setQualifier(short qualifier)

取得间隔中的月数:
long getMonths()

以 yyyy-mm 格式来创建间隔的字符串表示:
String toString()
字段的显示依赖于限定符。以空格替代开头的零。