Wie verändern Sie die Rolle von der Kommandozeile in postgresql?

Ich versuche zu bauen, ein setup-Skript zu automatisieren, die Entwicklungsumgebungen, die die Erstellung, aber ich habe Schwierigkeiten, Sie beide versuchen, Rohr-oder mit der-c-Modifikator für psql.

Ich versucht habe:

sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass'"

und

sudo su postgres psql -c "ALTER ROLE postgres WITH password 'pass';"

Beide sagen "ALTER: Befehl nicht gefunden"

Habe ich auch versucht, Rohrleitung, aber ich bin nicht in der Lage, kombinieren Sie es mit su richtig

zB: ich habe versucht, so etwas wie

sudo su postgres echo "ALTER ROLE postgres WITH password 'pass'" | psql 

Aber postgres kann nicht ausgeführt werden "echo"

Und:

echo "ALTER ROLE postgres WITH password 'pass'" | sudo su psql

Einfach nicht funktionieren.

So, meine erste Frage ist: wie kann ich das ausführen dieses einfachen Befehls aus einer sh-Datei?

Und der zweite, weniger Verwandte: wie kann ich verschiedene Benutzer in den Befehlen verkettet mit Rohr?

  • Warum verwenden Sie sudo oder su? Können Sie nicht einfach starten psql -U postgres direkt?
InformationsquelleAutor Alvaro | 2015-02-18
Schreibe einen Kommentar