I used it on the previous commit (https://github.com/josemalonsom/dbal/commit/23423311df263c35e3c5bd9c0a05968b7924ca25), but it fails with Postgresql on Travis saying that the table doesn't exists. 

Finally i could reproduce the error with the Vagrant Box for DBAL (https://github.com/doctrine/vagrant-dbal) since it works fine with my local Postgresql install. It only fail in a fresh install of the Postgresql server, only when the tests are launched the first time and only with all the test suite: subsequent executions or launch the specific test alone ends with a correct execution. So i had to recover the first snapshot of the virtual machine every time to try to find out the problem, but i couldn't, in the debug of the Postgresql simply the "create table" statement doesn't appear, as if it had not been never executed.

The problem is triggered in some way with the AbstractSchemaManager::createTable() method, that is called from dropAndCreateTable() too. It seems to be a known issue, if you see the old commits that i pointed in my previous comment you can see that the call to createTable() was changed to avoid it. 

It is very weird, i know, but after spending several hours trying to solving it and as it only fails on a extraordinary situation i decided to take the same solution used in other tests and avoid the use of the createTable() method (dropAndCreateTable() in this case) :(. If you know other solution please let me know.