Se você executar:
sudo -u postgres pg_dumpall > /home/backups/postgres/database.bak
Então pg_dumpall
está sendo executado como esse usuário. Mas o redirecionamento ainda está sendo executado como você. É provavelmente de onde vem o permission denied
, e não o comando. Se você redirecionar para /tmp/dump.out
, isso funciona?
Caso contrário, você pode precisar fazer
sudo -u postgres bash -c "pg_dumpall > /home/backups/postgres/database.bak"