我可以在db服务器上复制Postgresql大对象吗?

我在一个大对象中有数据,现在我想复制它,这样我就可以在保留原始副本的同时附加它。是否有任何JDBC调用或SQL语句可以用来导致这种情况发生? 从我找到的每个资源中,似乎我必须实际读取所有数据到我的客户端并再次写出来获取副本。我更喜欢保存往返旅行。     
已邀请:
如果您知道它的
oid
,则可以使用两个查询复制/克隆大对象。
INSERT INTO pg_largeobject_metadata (lomowner, lomacl) 
  SELECT lomowner, lomacl
  FROM pg_largeobject_metadata
  WHERE oid = <my_old_oid>
RETURNING oid AS my_new_oid;

INSERT INTO pg_largeobject (loid, pageno, data)
  SELECT <my_new_oid>, pageno, data
  FROM pg_largeobject
  WHERE loid = <my_old_oid>;
my_old_oid
是大型物体的已知oid
my_new_oid
是第一个插入语句返回的oid pg_large_object参考 对象类型标识符(oid)引用     
看一下服务器端的lo_import和lo_export函数。您必须将数据从数据库移动到文件系统并再次返回,但至少它是服务器的文件系统,而不是客户端的文件系统。     

要回复问题请先登录注册