You can probably index the tables, tune the query, upgrade the H/W, break-up and simplify the reports or do a combination of any of these.
or may be buying a real db like SQL Server/ Oracle would go a long way. Especially when postgres don't have in-memory capabilities.
Or if possible move extract refresh to pre-dawn hours.
Not have much idea on Postgresql database. However if it supports isolation level then you can set one for your tableau desktop or server.
You need to create and implement a server side .tdc file.
Server location to place your .tdc file would be [Drive:]\[install root]\Tableau Server\data\tabsvc\vizqlserver\Datasources
PC location to palce your .tdc file would be My Tableau Repository\Datasources
This solution also requires the database administrator to set the isolation levels in order to ensure the desired result
Please refer two below links for further details.