9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

32.2. 实现特点

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

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

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

<
/BODY >