nube instancia datos crear aws database postgresql amazon-web-services

database - datos - crear instancia postgresql windows



Cómo pg_dump una base de datos RDS Postgres? (1)

¿Cómo puedo conectarme a mi instancia de RDS usando pg_dump?

Este es el punto final de la instancia:

<long public dns thing>:5432

Así que estoy ejecutando este comando:

pg_dump -h <long public dns thing> -p 5432 -f dump.sql

Y obteniendo esto:

pg_dump: [archiver (db)] connection to database "brendan" failed: could not connect to server: Connection refused Is the server running on host "<long public dns thing>" (<IP address>) and accepting TCP/IP connections on port 5432?

Este es el consejo de solución de problemas de Amazon:

No se puede conectar a la instancia de DB PostgreSQL de Amazon RDS

El problema más común al intentar conectarse a una instancia de DB de PostgreSQL es que el grupo de seguridad asignado a la instancia de DB tiene reglas de acceso incorrectas. Por defecto, las instancias DB no permiten el acceso; el acceso se otorga a través de un grupo de seguridad. Para otorgar acceso, debe crear su propio grupo de seguridad con reglas de ingreso y egreso específicas para su situación. Para obtener más información sobre cómo crear un grupo de seguridad para su instancia de base de datos, consulte Crear un grupo de seguridad.

El error más común es que no se pudo conectar al servidor: se agotó el tiempo de espera de la conexión. Si recibe este error, verifique que el nombre de host sea el punto final de la instancia de DB y que el número de puerto sea correcto. Compruebe que el grupo de seguridad asignado a la instancia de base de datos tenga las reglas necesarias para permitir el acceso a través de su firewall local.

¿Hay alguna forma de especificar mi grupo de seguridad desde pg_dump? Si es así, ¿tengo que obtener una copia local de esa manera de la manera en que necesito una clave ssh cuando hago ssh''ing?

¿Es un error incluso intentar usar pg_dump de forma remota? ¿Debería tratar de enviar ssh a la instancia o hacer algo completamente distinto?


Paso 1: cree un grupo de seguridad en AWS que tenga la dirección IP de su computadora en blanco.

Paso 2: agregue ese grupo de seguridad a la instancia de la base de datos a la que desea conectarse.

Paso 3: ejecuta pg_dump. Asegúrese de especificar su nombre de usuario (gracias @LHWizard) con el comando -U. En este caso, el mío no era ''postgres'', así que supongo que generalmente tendrás que mirar en aws para encontrarlo. Además, asegúrese de especificar el nombre de su base de datos: en algunas herramientas de línea de comandos hay un -d para eso, pero si comprueba el uso de pg_dump:

Usage: pg_dump [OPTION]... [DBNAME]

puedes ver que es un argumento formal. Entonces todo el comando (en mi caso) fue:

pg_dump -h <public dns> -U <my username> -f dump.sql <name of my database>

Tenga en cuenta que especificar el número de puerto no era necesario, creo que porque el puerto 5432 es EL puerto para postgres.