The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/11/app-pgrestore.html Description:
"-C --create Create the database before restoring into it. If --clean is also specified, drop and recreate the target database before connecting to it. With --create, pg_restore also restores the database's comment if any, and any configuration variable settings that are specific to this database, that is, any ALTER DATABASE ... SET ... and ALTER ROLE ... IN DATABASE ... SET ... commands that mention this database. Access privileges for the database itself are also restored, unless --no-acl is specified. When this option is used, the database named with -d is used only to issue the initial DROP DATABASE and CREATE DATABASE commands. All data is restored into the database name that appears in the archive." I am finding the opposite happening from that final sentence. When I use --clean and --create, it is using the database name from the archive during the DROP and CREATE commands, and using the --dbname argument for the actual data restore. However, do either things make sense? Shouldn't all of these commands be executed against the provided database name in the command? How can I take a backup from my production environment and restore it into my test environment, if the db names are different?