Updated on 2024-09-03 GMT+08:00

Binary Data Types

Table 1 lists the binary data types that can be used in GaussDB(DWS).

Table 1 Binary Data Types

Name

Description

Storage Space

BLOB

Binary large object.

Currently, BLOB only supports the following external access interfaces:

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

For details about the interfaces, see DBMS_LOB.

NOTE:

Column storage cannot be used for the BLOB type.

The maximum size is 10,7373,3621 bytes (1 GB - 8203 bytes).

RAW

Variable-length hexadecimal string

NOTE:

Column storage cannot be used for the raw type.

4 bytes plus the actual hexadecimal string. The maximum size is 10,7373,3621 bytes (1 GB - 8203 bytes).

BYTEA

Variable-length binary string

4 bytes plus the actual binary string. The maximum size is 10,7373,3621 bytes (1 GB - 8203 bytes).

In addition to the size limitation on each column, the total size of each tuple is 8203 bytes less than 1 GB.

Example

Create a table:

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;

Insert data:

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

Query data in the table:

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

Delete the table:

1
DROP TABLE blob_type_t1;