[v0.17 branch] dbt compile does more than just compiling

Correct, dbt compile does require a database connection, and sufficient permissions to read metadata about objects in the database. It should not require permissions to create objects in the database, nor should it attempt to do so (i.e. the regression you mention in the original post).