Yes, they should all work.
We save the query as a view and then introspect it to see what tables it depends on. It then uses pg_notify to watch for changes.
The plan is to integrate pg_ivm (https://github.com/sraoss/pg_ivm) to make it even more efficient.