PostgreSQL:将序列的最大值设置为更高的值

Pro*_*ken 9 postgresql

目前,我正在将数据从 RabbitMQ Worker 导入到 postgreSQL 中的表中。这样做时我收到此错误:

4|tiq-work | error: nextval: reached maximum value of sequence "table_id_seq" (2147483647)

table.id数据类型为 int8 (bigint),范围为9223372036854775807

我尝试使用 postgreSQL 文档中的以下命令设置最大值:

alter sequence schema.table_id_seq maxvalue 9223372036854775807;

但随后收到此错误:

SQL Error [22023]: ERROR: MAXVALUE (9223372036854775807) is out of range for sequence data type

这似乎是因为序列数据类型的范围与整数数据类型 (2147483647) 相同。

有没有办法迫使它走得更高?我还有很多数据要加载。

Mar*_*cel 10

您还需要将序列转换为 bigint。尝试这个:

ALTER SEQUENCE "table_id_seq" AS bigint MAXVALUE 9223372036854775807;
Run Code Online (Sandbox Code Playgroud)