更新时间:2024-06-29 GMT+08:00
分享

二进制类型

GaussDB(DWS)支持的二进制类型请参见表1

表1 二进制类型

名称

描述

存储空间

BLOB

二进制大对象

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

  • DBMS_LOB.GETLENGTH
  • DBMS_LOB.READ
  • DBMS_LOB.WRITE
  • DBMS_LOB.WRITEAPPEND
  • DBMS_LOB.COPY
  • DBMS_LOB.ERASE

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

说明:

列存不支持BLOB类型

最大为1G-8023B(即1073733621B)。

RAW

变长的十六进制类型

说明:

列存不支持RAW类型

4字节加上实际的十六进制字符串。最大为1G-8023B(即1073733621B)。

BYTEA

变长的二进制字符串

4字节加上实际的二进制字符串。最大为1G-8023B(即1073733621B)。

除了每列的大小限制以外,每个元组的总大小也不可超过1G-8203字节。

示例

创建表:

1
2
3
4
5
6
7
CREATE TABLE blob_type_t1 
(
    BT_COL1 INTEGER,
    BT_COL2 BLOB,
    BT_COL3 RAW,
    BT_COL4 BYTEA
) DISTRIBUTE BY REPLICATION;

插入数据:

1
INSERT INTO blob_type_t1 VALUES(10,empty_blob(),HEXTORAW('DEADBEEF'),E'\\xDEADBEEF');

查询表中的数据:

1
2
3
4
5
SELECT * FROM blob_type_t1;
 bt_col1 | bt_col2 | bt_col3  |  bt_col4   
---------+---------+----------+------------
      10 |         | DEADBEEF | \xdeadbeef
(1 row)

删除表:

1
DROP TABLE blob_type_t1;

相关文档