Как отметил @hanmari в своем комментарии. при вставке в таблицы postgres лучше всего использовать код при конфликте (..) ничего не делать, чтобы не вставлять повторяющиеся данные .:
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'
Если в моих данных есть поле идентификатора, я не использую его в качестве основного идентификатора / серийного идентификатора, я создаю столбец идентификатора и устанавливаю его на серийный номер. Надеюсь, эта информация будет полезна всем. * У меня нет высшего образования в области разработки / программирования программного обеспечения. Все, что знаю в кодировании, изучаю самостоятельно.