В инструментите на PostgreSQL навсякъде, където можете да посочите име на база данни, можете вместо това да посочите низ за връзка.
В синтаксиса за pg_restore
dbname се предава с флаг, а не като позиционен параметър:
$ 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
...
така че трябва да използвате:
pg_restore -d 'postgres://userb:[email protected]:5432/otherdatabase' dump.dump
Да, това несъответствие на потребителския интерфейс между pg_dump
и pg_restore
гадно е и ми се иска да го променим, но вече е малко късно.