Строки в таблицах баз данных не упорядочены, то есть, нет первой и второй строк. Например, если мы отредактируем первую строку в таблице и сохраним изменения, то она может оказаться последней: Итак, строки не упорядочены. Теперь представим обычную ситуацию: приложение на другом языке программирования, например, на C#, использует нашу базу данных. Пользователь открыл в приложении определённую строку, отредактировал её и хочет сохранить изменения. Но, так как строки не упорядочены, то при сохранении изменений приложение не может сказать базе данных: "отредактируй строку номер такую-то". Чтобы база данных поняла, какую строку надо изменять, нужно добавить в каждую строку какие-то уникальные данные (например, пронумеровать их). Столбец с данными, использующимися для различения строк между собой, обычно называется id (от слова "идентификатор"). Столбец может быть любого типа данных, но обычно используются serial, bigserial или uuid. Postgres имеет специальные типы данных для автоматической