В pgAdmin нет возможности добавить столбец в существующую таблицу и одновременно сделать его первичным ключом, потому что это вряд ли возможно.
Столбец первичного ключа должен содержать уникальные ненулевые значения. После добавления столбца в существующую таблицу он содержит значения NULL. Поэтому вам необходимо ввести уникальные значения, прежде чем вы сможете добавить ограничение UNIQUE
или PRIMARY KEY
.
Существует исключение для этого правила, однако: если вы добавите столбец serial
, уникальные значения будут вставлены автоматически. В этом случае вы также можете сразу определить его ПЕРВИЧНЫЙ КЛЮЧ:
ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;
Это работает в PostgreSQL 9.1. Я не уверен, что в старых версиях тоже.
pgAdmin не включает этот особый случай для столбцов serial
в диалоговом окне «Новый столбец ...» (версия 1.14).