くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

postgreSQLでカラムにシーケンスを付ける方法

postgreSQLでカラムにシーケンスを付ける方法

postgreSQLのテーブルでidカラムとかをincrementにし忘れている時に、途中からシーケンスを貼る方法を教えてもらったのでメモ。

まず、何番から連番(auto increment)を始めたいかをメモしておきます。(今回は6894番目からやりたいとします。)

次に、シーケンスの名前を決めます。僕は分かりやすいように、[テーブル名_カラム名_seq]とかにしてます。(例: member_id_seq)

準備ができたら、

CREATE SEQUENCE member_id_seq START 6894;

というSQLを流します。
これでシーケンスができます。

次に

ALTER TABLE "public”."member" ALTER COLUMN "id" SET DEFAULT nextval(‘member_id_seq’);

というSQLを流せば完了です。