emm*_*dee 6 postgresql sequence
看起来select nextval('table_name')
实际上是增加了价值。
我的目标是nextval
在不实际进行任何增量的情况下“预测”数据库中所有表的值。这应该是只读操作。
我无法select nextval
在只读连接上运行,因为它实际上是在尝试进行交易。我希望能够查询它并监视只读副本数据库上的序列。
你将如何解决这个问题并实现目标?
我会假设SELECT currval('seq_name') + 1
或SELECT last_value + 1 FROM seq_name
将是答案,但这仅当您递增1
,或者您立即知道递增时。
如果你没有递增1
并且你不知道递增,那么试试这个:
SELECT currval('seq_name') + i.inc
FROM (SELECT seqincrement AS inc
FROM pg_sequence
WHERE seqrelid = 'seq_name'::regclass::oid) AS i;
Run Code Online (Sandbox Code Playgroud)
或者
SELECT last_value + i.inc
FROM seq_name,
(SELECT seqincrement AS inc
FROM pg_sequence
WHERE seqrelid = 'seq_name'::regclass::oid) AS i;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10630 次 |
最近记录: |