Nas ferramentas do PostgreSQL, onde quer que você especifique um nome de banco de dados, você pode especificar uma string de conexão.
Na sintaxe para
pg_restore
o dbname é passado com um sinalizador, não como um parâmetro posicional:$ 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
...
então você deve usar:
pg_restore -d 'postgres://userb:[email protected]:5432/otherdatabase' dump.dump
Sim, essa incompatibilidade de interface do usuário entre
pg_dump
e pg_restore
é uma merda, e eu gostaria que pudéssemos mudar isso, mas é um pouco tarde agora.