Как отметил @hanmari в своем комментарии. при вставке в таблицы postgres, конфликт on (..) ничего не делает, это лучший код, который нужно использовать для того, чтобы не вставлять дублирующиеся данные .:
query = "INSERT INTO db_table_name(column_name)
VALUES(%s) ON CONFLICT (column_name) DO NOTHING;"
Строка кода ON CONFLICT позволит оператору вставки вставлять строки данных. Код запроса и значений является примером вставленной даты из Excel в таблицу postgres db.
У меня есть ограничения, добавленные в таблицу postgres, которую я использую, чтобы убедиться, что поле идентификатора уникально. Вместо того, чтобы выполнять удаление одинаковых строк данных, я добавляю строку кода SQL, которая перенумеровывает столбец идентификатора, начиная с 1.
Пример:
q = 'ALTER id_column serial RESTART WITH 1'
Если мои данные имеют поле идентификатора, я не использую его в качестве основного идентификатора / серийного идентификатора, я создаю столбец идентификаторов и устанавливаю его в последовательный.
Я надеюсь, что эта информация полезна для всех.
* У меня нет диплома колледжа по разработке программного обеспечения / кодированию. Все, что я знаю по кодированию, я изучаю самостоятельно.