postgreSQL で id とかのフィールドで自動的に番号が増えていく、auto_increment みたいな設定をテーブルにすると、シーケンスが作られる。
例えばこんなテーブルを作ると
CREATE TABLE users(
  id SERIAL PRIMARY KEY,
  name VARCHAR(255)
);
こんなんなる。
 Schema |     Name     |   Type   |  Owner
--------+--------------+----------+----------
 public | users        | table    | postgres
 public | users_id_seq | sequence | postgres
しばらく users にデータをインサートした後で、
このシーケンスに対してセレクトをかけると、
SELECT * FROM users_id_seq ;
こんな結果が返ってくる
 sequence_name | last_value | increment_by |      max_value      | ・・・
---------------+------------+--------------+---------------------+-------
 users_id_seq  |         34 |            1 | 9223372036854775807 | ・・・
この last_value というのが自動で増えていった id の最後の番号で、これが34になったまま、 users テーブルのデータを消してしまうと、次は id が34から始まってしまう。
1からにしたい、という時に、
select setval ('users_id_seq', 1);
とやるんだが、こうすると last_value が1になるので、次は2からになってしまう。
じゃあ、
select setval ('users_id_seq', 0);
としてみたらどうかと思うが、これはエラーになる。

ということでこうするとよい。
select setval ('users_id_seq', 1, false);

一回目は last_value は1のままで、is_called が true になり、二回目は last_value は2になる。