Создание автоматического приращения PK через графический интерфейс pgAdmin не работает

#postgresql

#postgresql

Вопрос:

Я не знаю, чего мне здесь не хватает. Я просто хочу, чтобы здесь был автоматически увеличенный идентификатор. Я думал, что установка PK в true сделает это:

введите описание изображения здесь

Затем попытался запустить этот запрос:

 INSERT INTO public.social_type(name)
    VALUES ('personal blog');
  

Но получил эту ошибку:

 ERROR:  null value in column "id" violates not-null constraint
DETAIL:  Failing row contains (null, personal blog).
SQL state: 23502
  

Ответ №1:

тип integer не означает, что он будет генерировать значение. Для этого вместо этого выберите serial тип

Комментарии:

1. В современных версиях Postgres столбцы идентификаторов предпочтительнее, чем serial

2. что значит столбец идентификаторов, это тип? как я могу указать это через графический интерфейс? Как мне, по сути, это сделать, но через графический интерфейс, какие параметры выполняют то же самое, что и column_name type GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY[

3. и как вы можете сделать столбец идентификатором после факта через графический интерфейс, а не через скрипты?

4. Щелкните правой кнопкой мыши по имени столбца -> Свойства -> Ограничения -> Тип. Выберите IDENTITY . Измените параметры по желанию. Затем вернитесь к имени таблицы -> Свойствам -> Столбцам и создайте столбец PRIMARY KEY .