小编Liv*_*ors的帖子

试图删除隐形元组+ Postgres

我有一个系统,我们执行大量的插入和更新查询(也有一些upsert)

我看到我的日志偶尔会出现错误.

PG::ObjectNotInPrerequisiteState: ERROR:  attempted to delete invisible tuple
 INSERT INTO call_records(plain_crn,efd,acd,slt,slr,ror,raw_processing_data,parsed_json,timestamp,active,created_at,updated_at) VALUES (9873,2016030233,'R',0,0,'PKC01','\x02000086000181f9000101007 ... ')
Run Code Online (Sandbox Code Playgroud)

即使没有执行(删除)查询(上面的错误出现在insert子句中),我仍然无法理解但是引发了错误.

我一直在谷歌搜索这个问题,但没有确凿的证据表明为什么会这样.

Postgres的版本.

database=# select version();
                                                   version                                                    
--------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.5.2 on x86_64-apple-darwin14.5.0, compiled by Apple LLVM version 7.0.0 (clang-700.1.76), 64-bit
(1 row)
Run Code Online (Sandbox Code Playgroud)

任何线索?

postgresql pg

7
推荐指数
0
解决办法
690
查看次数

关于WITH RECURSIVE Query Postgres的可能解释

我一直在阅读有关 Postgres 中的 With Query 的内容。这就是我惊讶的地方

WITH RECURSIVE t(n) AS (
    VALUES (1)
  UNION ALL
    SELECT n+1 FROM t WHERE n < 100
)
SELECT sum(n) FROM t;
Run Code Online (Sandbox Code Playgroud)

我无法理解查询的评估是如何工作的。

  • t(n) 听起来像是一个带有参数的函数。n的值是如何传递的。

关于 SQL 中递归语句的崩溃如何发生的任何见解。

sql postgresql common-table-expression

2
推荐指数
1
解决办法
1962
查看次数

标签 统计

postgresql ×2

common-table-expression ×1

pg ×1

sql ×1