实现特点

PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 32. 大对象 | 下一页

# 32.2. 实现特点

大对象实现把大对象分解成"chunks"，然后把块存放在数据库记录里面。 在随机读写时使用一个B-tree索引保证对正确的块（chunk）号的检索。

一个大对象的块存储不必相邻。 例如，如果应用程序打开一个新的大对象，寻找抵消1000000， 并且写入几个字节，这不会导致配置1000000个字节的存储；只有块覆盖真实写数据字节的范围。 一个读操作将，然而，读出先于最后出现块的任何未分配的位置为零。 这相当于在Unix文件系统文件中"不充分分配"文件的普通操作。

PostgreSQL 9.0中，大对象有一个所有者和一组访问权限， 使用GRANT和REVOKE管理。 `SELECT`的权限需要读大对象，`UPDATE`的权限需要写入或彻底删除。 只有大对象的所有者（或数据库超级用户）可以删除，评论或改变一个大对象的所有者。 为了调整以前版本的兼容操作，参阅lo_compat_privileges运行时参数。

上一页 | 起始页 | 下一页
介绍 | 上一级 | 客户端接口