что-то вы перемудрили и сами себя запутали.
вы определитесь как хотите время хранить. Постгрес предлагает хранит время с временной зоной или без временной зоны.
https://www.postgresql.org/docs/9.6/static/datatyp...
Вы в конце времени ставите +07, а значит время с временной зоной.
сделайте поле без временной зоны, а со стороны языка решите какое время вы будете хранить в базе, UTC или локальное время, потому что иначе будете путаться и лишний раз одно время переводить в другое. Если поле без временной зоны, то оно будет игнорировать зону и сохранять значение без конвертации.