看起来select nextval('table_name')
实际上确实增加了价值。
我的目标是“预测”nextval
数据库中所有表的值而不实际进行任何增量。这应该是只读操作。
我无法select nextval
在只读连接上运行,因为它实际上是在尝试进行事务。我希望能够查询并监控只读副本数据库上的序列。
您将如何解决这个问题并实现目标?
看起来select nextval('table_name')
实际上确实增加了价值。
我的目标是“预测”nextval
数据库中所有表的值而不实际进行任何增量。这应该是只读操作。
我无法select nextval
在只读连接上运行,因为它实际上是在尝试进行事务。我希望能够查询并监控只读副本数据库上的序列。
您将如何解决这个问题并实现目标?
我会假设
SELECT currval('seq_name') + 1
orSELECT last_value + 1 FROM seq_name
会是答案,但这只是当你增加1
,或者你知道增量的时候。如果您不增加
1
并且您不知道增量,请尝试以下操作:或者
根据先前的答案,我意识到添加的第一个值失败:当没有添加任何值时,查询返回 2 而不是 1。这是我的解决方案: