it-swarm.com.de

So erstellen Sie einen Benutzer für Postgres über die Befehlszeile für die Bash-Automatisierung

Ich verwende Ubuntu 12.04 und Postgress 9.2.

Ich muss diesen Benutzer mit diesem Kennwort erstellen, z.

postgres://admin:[email protected]:5432

Wie mache ich das von der Kommandozeile aus? Ich muss mit einem Bash-Skript automatisieren. Ich habe eine Neuinstallation.

49
Tampa

Dadurch wird der Benutzer admin mit dem Kennwort test101 für localhost erstellt:

psql -c "CREATE USER admin WITH PASSWORD 'test101';"
87
Tomas Greif

Um es von jedem Benutzer auszuführen, fügen Sie einfach den Sudo -u postgres hinzu:

Sudo -u postgres bash -c "psql -c \"CREATE USER vagrant WITH PASSWORD 'vagrant';\""
32
mimoralea

Um es beispielsweise auf dem ursprünglichen Docker-Image auszuführen, können Sie den Befehl su -c mit dem Benutzer postgres in Kombination mit psql verwenden:

su -c "psql -c \"CREATE ROLE my_user WITH LOGIN PASSWORD 'my_password' \"" postgres
0
anj

Wenn Sie von root aus arbeiten, erhalten Sie möglicherweise eine Fehlermeldung wie could not change directory to "/root": Permission denied.
Daher ist es besser, Sudo mit -i wie folgt auszuführen:
Sudo -i -u postgres psql -c "CREATE USER myuser WITH PASSWORD 'myuser1234';"

0
Iman Mirzadeh