Last tested: Mar 23, 2020
You will not be able to query the stable view name until the PDT rebuilds - meaning either you
1) change the SQL and push that to production (which causes a rebuild) or
2) manually rebuild the PDT or
3) the PDT is organically rebuilt by the regenerator or
4) the PDT is organically rebuilt when a query comes in and its persist_for is expired
The stable view will only be published after its underlying PDT is naturally rebuilt by Looker.
If you create a PDT for the first time with publish_as_db_view:yes then the first time it’s built it’ll have the flag. The confusing case happens when you’ve already got some PDT that you want to add publish_as_db_view to; when you add it and push to production you might expect to immediately be able to query that stable view, but you can’t - you need the PDT to build/rebuild before it picks up the flag