What is the best way to analyze free space in a postgres database and the grow of usage?
Postgres' tablespace concept is completely different to Oracle's. Postgres doesn't use container files the way Oracle does. Each table is stored in one or more individual files. A tablespace is essentially just a directory where files are stored. It is not container file like in Oracle. 

If a table gets dropped or truncated the space is immediately released on the file system level. 

For a single table you could measure the size of the file(s) on disk and the actual size of the data which can deviate substantially depending on the write pattern of the application. This is caused by Postgres' implementation of MVCC. 

The Postgres Wiki has several queries to investigate that: 
https://wiki.postgresql.org/wiki/Show_database_bloat