PostgreSQL ALTER SEQUENCE功能

Ole*_*leg 2 postgresql sequence

我有触发功能:

CREATE OR REPLACE FUNCTION update_aaa() RETURNS TRIGGER AS $$
DECLARE maxid INTEGER;
BEGIN
    SELECT MAX(id) INTO maxid FROM aaa;
    ALTER SEQUENCE aaa_id_seq RESTART WITH maxid;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

并有错误:

ERROR:  syntax error at or near "$1"
Line 1: ALTER SEQUENCE aaa_id_seq RESTART WITH  $1 
Run Code Online (Sandbox Code Playgroud)

为什么1美元?
什么错误?

ara*_*nid 5

也许使用setval函数而不是alter sequence ... restart with

SELECT pg_catalog.setval('aaa_id_seq'::regclass, maxid, false);
Run Code Online (Sandbox Code Playgroud)