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).