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.

Alex
źródło

Odpowiedzi:

1

W Ubuntu:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
zapalenie oskrzeli
źródło