Django no contiene ni lee directamente los valores de secuencia de ninguna manera. Lo he explicado f.ex. en esta pregunta:2088210/django-object-creation-and -postgres-secuencias .
Postgresql incrementa la secuencia cuando intenta agregar una fila, incluso si el resultado de la operación no es exitoso (genera un error de clave duplicada), el incremento de la secuencia no se revierte. Entonces, esa es la razón por la que funciona la segunda vez que intenta agregar una fila.
No sé por qué sus secuencias no están configuradas correctamente, ¿podría verificar cuál es el valor de la secuencia antes del volcado y después de la restauración, y hacer lo mismo con el max() pk de la tabla? ¿Tal vez es un error 8.1 con la restauración? No sé. De lo que estoy seguro:no es culpa de Django.