我正在try 将序列设置为特定值.

SELECT setval('payments_id_seq'), 21, true

这会产生一个错误:

ERROR: function setval(unknown) does not exist

使用ALTER SEQUENCE似乎也不管用?

ALTER SEQUENCE payments_id_seq LASTVALUE 22

如何做到这一点?

参考:https://www.postgresql.org/docs/current/static/functions-sequence.html

推荐答案

括号放错地方了:

SELECT setval('payments_id_seq', 21, true);  # next value will be 22

否则,你只需要一个参数就可以拨打setval,而这需要两到三个参数.

这和SELECT setval('payments_id_seq', 21)一样

Postgresql相关问答推荐

Trunc函数不删除小数

Keycloak和PostgreSQL

SQLX::Query!带有UUID::UUID的宏在Rust中编译失败

即使不对订阅服务器进行任何修改,Postgres逻辑复制也可能发生冲突吗?

postgres 不同类型的更新

使用 OpenCypher 和 Apache AGE 在两个顶点之间创建双向关系

如何在 sequelize 使用 db postgres 中通过外键更新记录和更新包含许多记录关系

查找最小值和最大值

使用间隔参数的 go postgres 准备好的语句不起作用

使用 JDBC 连接到 PostgreSql 的本地实例

从 Postgres 数据库中删除所有函数

在远程机器上Restore dump

PostgreSQL如何连接间隔值'2天'

使用 pg_dump 和 psql -U postgres db_name < ... 移动数据库会导致ERROR: relation "table_name" does not exist

安装时 postgres 的默认用户

错误:ERROR: table name specified more than once

PostgreSQL 9 在 Windows 上安装:Unable to write inside TEMP environment path.

如何在 postgresql 中获取整个表的哈希?

PostgreSQL 无法启动:server.key具有组或世界访问权限

Postgresql 用随机值更新每一行