シリアルを追加してみませんか
テーブルの主キー列?
ALTER TABLE login ADD column login_id serial;
ALTER TABLE login ADD CONSTRAINT login_pkey PRIMARY KEY(login_id);
最初の操作はテーブルを書き換えてしばらくの間ロックを取ります。それから実行します
VACCUM FULL ANALYZE login;
劣った選択肢: row_number()
@Joachimが指摘
として 。最高のパフォーマンスを得るには、 OVER
をそのままにしておくことができます 空の句:
row_number() OVER () AS rn
余談ですが、 AS
を使用してください 列エイリアスのキーワード(テーブルエイリアスの単なるノイズです)。
または、 ctid<を使用できます。 / code>
主キーの貧乏人の代理として。それはさらに高速になります :
詳細:
順序どおりのシーケンス生成
dba.SEの例:
複数のテーブルの行に連続して番号を付ける