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
odersu
? Können Sie nicht einfach startenpsql -U postgres
direkt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was falsch ist ist das fehlen von
-c
oder--command
fürsu
um anzuzeigen, dass der rest der Zeile ist ein Befehl.Aber
su
ist sowieso nicht brauchte, da bereitssudo
. Tun Sie dies: