Don't forget that the database is not only tables. Abstraction can be done at the SQL level with views.
With views you can maintain backwards compatibility despite migrations happening. No need to change your front-end.
Check this section of the PostgREST docs for more details:
http://postgrest.org/en/v7.0.0/schema_structure.html#schema-...