运算符不存在:PostgreSql 中带时区的时间戳 + 整数

Saj*_*eev 7 postgresql postgresql-9.6

我在 postgres 中遇到了一个奇怪的问题。我有两个在两个不同时期创建的数据库。两者都在同一台机器上运行相同的 PostrgreSql 9.6 版本。当我在数据库 1 中运行查询时SELECT now() + 30-> 它工作正常。我将相同的查询复制粘贴到第二个数据库中,它给出错误: operator does not exist: timestamp with time zone + integer在 PostgreSql 中

有人可以指导我吗?

在此输入图像描述

Saj*_*eev 0

我添加了以下查询来解决该问题。

CREATE OPERATOR + ( PROCEDURE = adddays,LEFTARG = TIMESTAMPTZ, RIGHTARG = NUM​​ERIC,COMMUTATOR = +); 创建操作符 - ( PROCEDURE = adddays,LEFTARG = TIMESTAMPTZ, RIGHTARG = NUM​​ERIC,COMMUTATOR = -);

注意:当我恢复数据库时,我经常遇到这个问题。