sql >> Base de Datos >  >> RDS >> PostgreSQL

En pg_restore, ¿cómo puede usar una cadena de conexión de postgres para especificar el host/base de datos/nombre de usuario/contraseña?

En las herramientas de PostgreSQL, siempre que pueda especificar un nombre de base de datos, puede especificar una cadena de conexión.

En la sintaxis de pg_restore el dbname se pasa con una bandera, no como un 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
  ...

entonces deberías estar usando:

pg_restore -d 'postgres://userb:[email protected]:5432/otherdatabase' dump.dump

Sí, esa interfaz de usuario no coincide entre pg_dump y pg_restore apesta, y ojalá pudiéramos cambiarlo, pero ya es un poco tarde.