PostgreSQL 的 setval 函数用于设置序列(sequence)的当前值
setval(sequence_name, new_value, is_called)
参数说明:
sequence_name:要设置的序列名称。new_value:新的序列值。is_called:布尔值,表示序列是否已被调用。如果为 true,则下一次调用 nextval() 函数时将返回 new_value + increment;如果为 false,则下一次调用 nextval() 函数时将直接返回 new_value。示例:
假设有一个名为 my_table_id_seq 的序列,当前值为 10。要将其设置为 20,可以使用以下 SQL 语句:
SELECT setval('my_table_id_seq', 20, false);
这将把 my_table_id_seq 序列的当前值设置为 20。下一次调用 nextval('my_table_id_seq') 时将返回 20。如果将 is_called 参数设置为 true,则下一次调用 nextval() 时将返回 21。