In postgresql, the sql_column_exists() method from db_tools is broken, and always returns false.
$sql on line 925 is undefined in postgresql. However, it appears that when using postgresql, the postgresql db_tools child class is never actually called.
it looks like the tools factory is not working as expected. When using a postgresql, the tools factory sees the db_driver as an instance of the phpbb\db\driver\factory, so the factory still loads the standard tools class instead of postgresql (or mssql).
This is major since this test is used in a lot of effectively installed checks in migrations.