Postgres大对象对于现有对象不存在错误

问题描述 投票:1回答:1

尽管我可以显示ERROR: large object 16709 does not exist does存在,但在尝试删除大对象16709时,Postgres 10出现错误。我不知道它是否相关,但是大对象是在Python 3上使用pyscopg2创建的。

编辑:我确认我仍然可以从数据库中获取数据,并且它是正确的。我只是无法删除它。

tagger1=# select l.oid from pg_largeobject_metadata l where l.oid = 16709;
  oid
-------
 16709
(1 row)

tagger1=# select count(1) from pg_largeobject where loid = 16709;
 count
-------
   747
(1 row)

tagger1=# select lo_unlink(16709) from pg_largeobject;
ERROR:  large object 16709 does not exist
postgresql
1个回答
0
投票

仅省略FROM子句:

SELECT lo_unlink(16709);

问题是您的语句尝试对pg_largeobject中的每一行都运行此语句,但是第一次执行后,大对象已经消失了。

© www.soinside.com 2019 - 2024. All rights reserved.