I’ve tried passing in “--”, but no joy. I tried passing “--dbname” then the DB name, but pg_dump doesn’t seem to accept that argument.
"--dbname=..." Documented 9.3 and above
The only working solution I have found is to set the DB name in PGDATABASE.
I found this in 9.0.18. Maybe it’s still a problem in supported releases, too?
It was decided to make the database name in this situation be an abstract concept as opposed to strictly referring to a named database. Because of this the equal sign has a special meaning that, apparently, cannot be overridden.
You may want to consider URI format - the following appears to work (9.3 tested)
psql postgres:///db=123
>psql: FATAL: database "db=123" does not exist
Actually, simply placing the actual name into any "conn info" context works (i.e., not just URI form)