如何在postgresql 8.4中获取当前序列值?

注意:我需要一些统计数据的值,只需检索和存储.在手动递增的情况下,与并发性和竞争条件无关,这与问题无关.

注2:序列在多个表中共享

注3:currval不起作用,因为:

  • 返回nextval最近在当前会话中为此序列获取的值
  • ERROR: currval of sequence "<sequence name>" is not yet defined in this session

我目前的 idea 是:解析DDL,这很奇怪

推荐答案

你可以使用:

SELECT last_value FROM sequence_name;

Update:

虽然不能直接更新序列,但可以使用查询

从名称中 Select *;

判断

Postgresql相关问答推荐

使用RANGE窗口框架条款将SUM分析函数从PostgreSQL移至Redwitch

一列引用两个不同的表

可以向判断枚举值的SQL列添加约束吗?

锁定模式与PostgreSQL中的另一种锁定模式冲突到底是什么意思?

无法在kubernetes中设置postgres复制

仅使用 ssl 连接到 Postgresql 数据库

数据库所有者无法授予 Select 权限

为什么 postgresql 可以在这个查询中高效地使用索引?

我可以在 Ruby on Rails 上编写 PostgreSQL 函数吗?

PostgreSQL错误致命:角色 username不存在

使用 try/except 与 psycopg2 或with closing?

postgresql 在查询中插入空值

从 psycopg2 异常中获取错误消息

在 postgreSQL 中更改序列名称

错误:must be owner of language plpgsql

manage.py 迁移时必须是关系 django_site 的所有者

psql 致命角色不存在

按任意时间间隔计算行数的最佳方法

docker postgres 无法从指定端口启动

Postgresql 对象 ID 和元组