Can PostgreSQL support integration test with some kind of throwaway overlay?
One way you could approach this, is to create a "base" test database (including all test data) once. Then before each test suite, create a new database using the "base" database as the template. 

create database test_db 
   with template = base_test_db;


Using this, everything that is in the template will be copied to the new database (including data, stored procedures, extensions). 

After each test suite, you simple drop test_db and re-create it with the above statement. 

This approach might not be fast enough if you do it before each test, but that highly depends on how large your test database is and how fast the harddisk of your build environment is.