ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 32.2\. 实现特点 大对象实现把大对象分解成"chunks",然后把块存放在数据库记录里面。 在随机读写时使用一个B-tree索引保证对正确的块(chunk)号的检索。 一个大对象的块存储不必相邻。 例如,如果应用程序打开一个新的大对象,寻找抵消1000000, 并且写入几个字节,这不会导致配置1000000个字节的存储;只有块覆盖真实写数据字节的范围。 一个读操作将,然而,读出先于最后出现块的任何未分配的位置为零。 这相当于在Unix文件系统文件中"不充分分配"文件的普通操作。 PostgreSQL 9.0中,大对象有一个所有者和一组访问权限, 使用[GRANT](#calibre_link-19)和[REVOKE](#calibre_link-20)管理。 `SELECT`的权限需要读大对象,`UPDATE`的权限需要写入或彻底删除。 只有大对象的所有者(或数据库超级用户)可以删除,评论或改变一个大对象的所有者。 为了调整以前版本的兼容操作,参阅[lo_compat_privileges](#calibre_link-2109)运行时参数。