Wywołanie polecenia psql bez wybierania żadnej bazy danych


11

Składnia psqlklienta linii poleceń to

psql [option...] [dbname [username]]

Przekazuję polecenie ALTER DATABASE x RENAME to ydo tego polecenia:

echo `ALTER DATABASE x RENAME to y` | psql

Obecnie otrzymuję błąd

psql: FATAL:  database "myuser" does not exist

Wygląda na to, że psqlpolecenie próbuje otworzyć bazę danych o tej samej nazwie co bieżąca nazwa użytkownika.

Jak mogę uruchomić psqlpolecenie bez wybierania jakiejkolwiek bazy danych?

Edytuj :

Rozwiązaniem jest oczywiście utworzenie pustej bazy danych dla użytkownika.

Używanie bazy danych xjako parametru nie działa, ponieważ blokuje to zmianę nazwy.

Odpowiedzi:



1

W Ubuntu:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.