2013年8月26日 ノウハウ 【PostgreSQL】シークエンスを最新の番号に再設定する ちょっとやることが多くて忙しいです。 なので小ネタを。 PostgreSQLにて、 何故かシークエンスの値がずれていてnextvalを流したらエラーが出てしまった。 わざわざ値を調べてsetvalは面倒なので、SQL文一発で設定が出来るようにした。 PgSQL SELECT SETVAL (シークエンス名, ( SELECT MAX(シークエンスを設定しているカラム名) FROM テーブル名) ); 1234567 SELECT SETVAL (シークエンス名, ( SELECT MAX(シークエンスを設定しているカラム名) FROM テーブル名) ); これで次にnextvalを流したときはMAX+1の値が取得できた。 シェア: 関連記事: 【PostgreSQL】レコードが存在すればUPDATE、なければINSERTをSQL文で実現する