大型对象

一种特殊的数据类型,它提供流式访问数据的方法,这些数据太大而无法作为整体进行操作。

**大型对象** 是一种特殊的数据类型,它提供流式访问数据的方法,这些数据太大而无法作为整体进行操作。

大型对象 可以包含高达 4TB 的数据,而传统数据类型通过 TOAST 机制最多只能包含 1GB 的数据。

用法

大型对象 与普通数据库对象不同,它们不是通过 SQL 命令操作的(所有权和权限元数据除外)。相反,它们可以通过基于 libpq 的 API 上传、下载、修改和删除,该 API 也通过系统函数公开。

WAL 和复制

大型对象 被写入 WAL,因此也通过流式复制进行复制。

SQL 命令

系统函数

psql 命令

  • \lo_export LOBOID FILE
  • \lo_import FILE [COMMENT]
  • \lo_list (也实现为 \dl)
  • \lo_unlink LOBOID

Contrib 模块

系统目录关系

配置参数

变更历史

PostgreSQL 一直都支持大型对象。

示例

使用 psql 的大型对象 斜杠命令 创建和操作大型对象的示例

postgres=# \lo_import /tmp/random-meme.jpg 'Some meme'
lo_import 16458
postgres=# \dl Large objects ID | Owner | Description -------+----------+------------- 16458 | postgres | Some meme (1 row) postgres=# ALTER LARGE OBJECT 16458 OWNER TO lo_usr; ALTER LARGE OBJECT postgres=# \dl Large objects ID | Owner | Description -------+--------+------------- 16458 | lo_usr | Some meme (1 row) postgres=# \lo_unlink 16458 lo_unlink 16458 postgres=# \dl Large objects ID | Owner | Description ----+-------+------------- (0 rows)

类别

数据类型大型对象存储

另请参阅

pg_largeobjectpg_largeobject_metadata

反馈

提交关于 "大型对象" 的任何评论、建议或更正 在此