PostgreSQL 9.1 runs into inconsistent data, but pg_dump corrects the problem?
Might be index corruption - assuming you have an index on sal_id.

If so, REINDEX TABLE salXXXX; (or just REINDEX INDEX index_name would do the same trick as your dump/restore cycle, which also recreates all indexes from scratch.

The manual advises:


  Note that while this method does not require locking out other
  clients, it might still be wise to prevent other users from connecting
  to the damaged database until repairs have been completed.


Generally, consider upgrading to a current version of Postgres. Version 9.1 has just reached its EOL in Sept. 2016. There have been many related updates since, might very well fix the problem for good.