  
  Manually-specifying values of auto-incrementing primary keys
  ------------------------------------------------------------
  
  Django uses PostgreSQL's `SERIAL data type`_ to store auto-incrementing primary
  keys. A ``SERIAL`` column is populated with values from a `sequence`_ that
  keeps track of the next available value. Manually assigning a value to an
  auto-incrementing field doesn't update the field's sequence, which might later
  cause a conflict. For example::
  
      >>> from django.contrib.auth.models import User
      >>> User.objects.create(username='alice', pk=1)
 
</s> remove   such as ``auto_increment`` (MySQL), ``serial`` (PostgreSQL), or ``integer
  primary key autoincrement`` (SQLite) are handled for you automatically. Same
  goes for the quoting of field names -- e.g., using double quotes or
  single quotes.
 </s> add   such as ``auto_increment`` (MySQL), ``bigint PRIMARY KEY GENERATED BY DEFAULT
  AS IDENTITY`` (PostgreSQL), or ``integer primary key autoincrement`` (SQLite)
  are handled for you automatically. Same goes for the quoting of field names
  -- e.g., using double quotes or single quotes. </s> remove         "id" serial NOT NULL PRIMARY KEY,
 </s> add         "id" bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, </s> remove         "id" serial NOT NULL PRIMARY KEY,
 </s> add         "id" bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, </s> remove         "id" bigserial NOT NULL PRIMARY KEY,
 </s> add         "id" bigint NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, </s> remove         "question_id" integer NOT NULL
 </s> add         "question_id" bigint NOT NULL
Django uses PostgreSQL's identity columns to store auto-incrementing primary
keys. An identity column is populated with values from a `sequence`_ that keeps
track of the next available value. Manually assigning a value to an
  
  Manually-specifying values of auto-incrementing primary keys
  ------------------------------------------------------------
  
Django uses PostgreSQL's identity columns to store auto-incrementing primary
keys. An identity column is populated with values from a `sequence`_ that keeps
track of the next available value. Manually assigning a value to an
Django uses PostgreSQL's identity columns to store auto-incrementing primary
keys. An identity column is populated with values from a `sequence`_ that keeps
track of the next available value. Manually assigning a value to an
Django uses PostgreSQL's identity columns to store auto-incrementing primary
keys. An identity column is populated with values from a `sequence`_ that keeps
track of the next available value. Manually assigning a value to an
  auto-incrementing field doesn't update the field's sequence, which might later
  cause a conflict. For example::
  
      >>> from django.contrib.auth.models import User
      >>> User.objects.create(username='alice', pk=1)
keep keep keep keep replace replace replace keep keep keep keep keep
 Refs #30511 -- Updated docs about auto-incrementing primary keys on PostgreSQL.

Follow up to 2eea361eff58dd98c409c5227064b901f41bd0d6. 
docs/ref/databases.txt