Відповіді:
два варіанти: Використовуйте 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, не міг знайти тип даних, званий serial, як згадується в інших відповідях в інших місцях)
2) Потім додайте послідовність, клацнувши правою кнопкою миші на послідовність-> додати нову послідовність . Якщо в таблиці немає даних, залиште послідовність такою, якою є, не вносити жодних змін. Просто збережіть це. Якщо є існуючі дані, додайте останнє або найвище значення у стовпці первинного ключа до поточного значення на вкладці "Означення", як показано нижче.
3) Нарешті, додайте рядок nextval('your_sequence_name'::regclass)
до значення за замовчуванням у своєму первинному ключі, як показано нижче.
Переконайтесь, що назва послідовності тут правильне. Це все і автоматичний приріст повинен працювати.
SERIAL
?
GENERATED BY DEFAULT AS IDENTITY
представлений Postgres> = 10.