华为云云数据库GaussDB二进制类型_云淘科技

GaussDB支持的二进制类型请参见表1。

表1 二进制类型

名称

描述

存储空间

BLOB

二进制大对象

目前BLOB支持的外部存取接口仅为:

DBE_LOB.GET_LENGTH
DBE_LOB.READ
DBE_LOB.WRITE
DBE_LOB.WRITE_APPEND
DBE_LOB.COPY
DBE_LOB.ERASE

这些接口详细说明请参见DBE_LOB。

说明:

列存不支持BLOB类型

最大为1GB减去6字节(即1073741818字节)。

RAW

变长的十六进制类型

说明:

列存不支持RAW类型

最大为1GB减去6字节(即1073741818字节)。

BYTEA

变长的二进制字符串

最大为1GB减去(56+24+5+1+前n列总字节数)。比如表为(a int, b bytea); 最长存储为1GB – 56 – 24 -5 -1– 4(int) = 1073741735。

BYTEAWITHOUTORDERWITHEQUALCOL

变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为确定性加密,则该列的实际类型为BYTEAWITHOUTORDERWITHEQUALCOL),元命令打印加密表将显示原始数据类型

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

BYTEAWITHOUTORDERCOL

变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为随机加密,则该列的实际类型为BYTEAWITHOUTORDERCOL),元命令打印加密表将显示原始数据类型

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

_BYTEAWITHOUTORDERWITHEQUALCOL

变长的二进制字符串,密态特性新增的类型

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

_BYTEAWITHOUTORDERCOL

变长的二进制字符串,密态特性新增的类型

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

除了每列的大小限制以外,每个元组的总大小也不可超过1GB-53字节(即1073741771字节)。
不支持直接使用BYTEAWITHOUTORDERWITHEQUALCOL和BYTEAWITHOUTORDERCOL,_BYTEAWITHOUTORDERWITHEQUALCOL,_BYTEAWITHOUTORDERCOL类型创建表。
RAW(n),n是指字节长度建议值,不会用于校验输入raw类型的字节长度。

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
--创建表。
gaussdb=# CREATE TABLE blob_type_t1 
(
    BT_COL1 INTEGER,
    BT_COL2 BLOB,
    BT_COL3 RAW,
    BT_COL4 BYTEA
) DISTRIBUTE BY REPLICATION;

--插入数据。
gaussdb=# INSERT INTO blob_type_t1 VALUES(10,empty_blob(),
HEXTORAW('DEADBEEF'),E'\xDEADBEEF');

--查询表中的数据。
gaussdb=# SELECT * FROM blob_type_t1;
 bt_col1 | bt_col2 | bt_col3  |  bt_col4   
---------+---------+----------+------------
      10 |         | DEADBEEF | \xdeadbeef
(1 row)

--删除表。
gaussdb=# DROP TABLE blob_type_t1;

父主题: 数据类型

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家