返回首页

gbase数据、南大通用产品文档:GBase8s创建分区

更新日期:2024年09月11日

以root用户身份,在终端通过fdisk -l命令查看当前可用的磁盘分区。为了对磁盘进行

GBase 8s 共享存储集群安装手册
南大通用数据技术股份有限公司 - 3 -
分区,在终端执行fdisk /dev/sdb命令,其中sdb是要进行分区的盘符。
本次分为8个分区,前3个分区键入n后键入p,并依次键入1、2、3作为Partition
number,First sector直接回车使用缺省值,Last sector可以使用+20G的格式。注意:第4个
分区键入n后键入e,即分区类型不再是primary partition而是extended,然后First sector和
Last sector均使用缺省值,即第4个扩展分区将剩余磁盘空间全部使用。继续键入n将第4个
扩展分区进一步细分为5个分区。键入p查看分区情况,确认无误后键入w使分区生效并退
出fdisk命令。
MBR分区表只支持2T磁盘,大于2T的磁盘请使用GPT分区表,并使用parted命令分区,
这里不再赘述。
对于主从共享的磁盘,此时可在从共享节点上通过partprobe /dev/xxx命令刷新分区信
息。

数据中含有NULL 值的处理
如果待导出数据中某字段的内容为NULL 值,
则该字段导出的NULL 文本为
“当
前转义符+ N”。
默认情况下的转义符为“\”,因此字段导出的NULL 文本为“\N”。
示例
示例1:转义符默认为“\”,则“NULL”值导出的结果为“\N”。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase> SELECT * FROM gs INTO OUTFILE '/home/gbase/null_1.txt';
Query OK, 2 rows affected
查看导出文件:
$ cat null_1.txt
\N
\N
1
GBase
示例2:如果在导出语句中指定了字段包围符,则对NULL 值不起作用。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase>
SELECT * FROM gs INTO OUTFILE '/home/gbase/null_2.txt'
FIELDS ENCLOSED BY '"';
Query OK, 2 rows affected
查看导出文件:
$ cat null_2.txt
\N
\N
"1"
"GBase"

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1245
示例3:设置转义符为“|”,则“NULL”值导出的结果为“|N”。
示例中所用的表及数据:
DROP TABLE IF EXISTS gs;
CREATE TABLE gs (a int DEFAULT NULL, b varchar(20) DEFAULT
NULL);
INSERT INTO gs VALUES(NULL,NULL);
INSERT INTO gs VALUES(1, 'GBase');
导出SQL 语句:
gbase>
SELECT * FROM gs INTO OUTFILE '/home/gbase/null_3.txt'
FIELDS ESCAPED BY '|';
Query OK, 2 rows affected
查看导出文件:
$ cat null_3.txt
|N
|N
1
GBase

通过限定数据库对象(表、视图、同义词或例程)的名称,您可访问外部数据库中的任何
表或例程。
当外部表与当前数据库位于同一数据库服务器上时,您必须以数据库名称和冒号限定对象
名称。例如,要引用不是本地数据库的数据库中的表,下列 SELECT 语句访问来自外部数
据库的信息:
SELECT name, number FROM salesdb:contacts
在此示例中,查询从表 contacts 返回数据,该表在数据库 salesdb 中。
远程数据库服务器是不是当前数据库服务器的任何数据库服务器。当外部表在远程数据库
服务器上时,您必须以数据库服务器名称和数据库名称来限定数据库对象的名称,如下例
所示:
SELECT name, number FROM salesdb@distantserver:contacts
在此示例中,查询从表 contacts 返回数据,该表在远程数据库服务器 distantserver 上的数
据库 salesdb 中。
要了解关于如何在外部数据库中指定数据库对象的语法和规则,请参阅《GBase 8s SQL 指
南:语法》。