Using Ecto changeset or postgresql triggers?

I have a votes table, and items table, when a user inserts a new row in the votes table,

I check the changeset and check the database to see if there is a record of this user, and then update the database in case the changeset is valid.

should I use postgresql triggers instead?