Como definir a senha do usuário postgresql no script bash

10

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?

    
por saji89 09.11.2012 / 12:47

2 respostas

8

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.

    
por 09.11.2012 / 13:21
19

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';"
    
por 09.11.2012 / 14:21