回答:
2つのオプション: "datatype" SERIALを使用するか、シーケンスを作成し、このシーケンスを整数のデフォルト値として使用します。
CREATE SEQUENCE your_seq;
CREATE TABLE foo(
id int default nextval('your_seq'::regclass),
other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
PGAdminでこれを行いたい場合は、コマンドラインを使用するよりもはるかに簡単です。PostgreSQLでは、列に自動インクリメントを追加するには、まず自動インクリメントシーケンスを作成し、必要な列に追加する必要があります。こうしました。
1)まず、テーブルの主キーがあることを確認する必要があります。また、主キーのデータ型をbigintまたはsmallintに保持します。(私はbigintを使用しましたが、他の答えで言及されているようにシリアルと呼ばれるデータ型を見つけることができませんでした)
2)次に、sequence-> add new sequenceを右クリックしてシーケンスを追加します。テーブルにデータがない場合は、シーケンスをそのままにして、変更を加えないでください。保存するだけです。既存のデータがある場合は、以下に示すように、[定義]タブの[現在の値]に主キー列の最後または最大の値を追加します。
3)最後に、nextval('your_sequence_name'::regclass)
以下に示すように、主キーのデフォルト値に行を追加します。
SERIAL
か?
GENERATED BY DEFAULT AS IDENTITY
、Postgres> = 10で導入されたものを含むように更新できます