Вы на правильном пути, но, видимо, не правильно проверяете права - вы пишете, что "переключаюсь на viewer", а сами приводите команду ALTER USER viewer; - не для переключения, а для редактирования пользователя. Удивительно, что это синтаксически корректно - пустой список изменений. То есть, по сути, у вас команда что-то типа "изменить пользователя viewer <ничего не менять>;". Для переключения на пользователя есть
SET ROLE -
www.postgresql.org/docs/9.4/static/sql-set-role.html