W narzędziach PostgreSQL wszędzie tam, gdzie możesz określić nazwę bazy danych, możesz zamiast tego określić ciąg połączenia.
W składni pg_restore
nazwa bazy danych jest przekazywana z flagą, a nie jako parametr pozycyjny:
$ pg_restore --help
pg_restore restores a PostgreSQL database from an archive created by pg_dump.
Usage:
pg_restore [OPTION]... [FILE]
General options:
-d, --dbname=NAME connect to database name
...
więc powinieneś używać:
pg_restore -d 'postgres://userb:[email protected]:5432/otherdatabase' dump.dump
Tak, ta niezgodność interfejsu użytkownika między pg_dump
i pg_restore
jest do bani i żałuję, że nie możemy tego zmienić, ale teraz jest trochę za późno.