Como documentado , você pode executar meta-comandos através da opção --command .
sudo -u postgres psql --command '\password postgres'
As aspas simples garantem que o shell não trate a barra invertida como um caractere de escape.
Eu quero definir uma senha para o usuário padrão do servidor Postgresql, postgres . Eu fiz isso usando:
sudo -u postgres psql
# \password postgres
Eu quero fazer este passo em muitas máquinas, então gostaria de criar um script bash para fazer o mesmo. Como conseguir isso em bash?
Como documentado , você pode executar meta-comandos através da opção --command .
sudo -u postgres psql --command '\password postgres'
As aspas simples garantem que o shell não trate a barra invertida como um caractere de escape.
Em vez de usar o comando psql \password , que espera um terminal interativo, você pode usar:
ALTER USER postgres WITH PASSWORD 'newpassword';
Diga, por meio de um comando psql -c :
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'newpassword';"