es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Transfiriendo datos entre dos servidores de instancias administradas PostgreSQL.

Tengo dos servidores remotos de PostgreSQL en instancias controladas sin un sistema operativo local al que pueda acceder. Quiero copiar una tabla de uno al otro.

Tengo DBeaver en una laptop que me permite establecer conexiones con ambos servidores. Cuando inicio un trabajo de transferencia entre ellos, puedo ver a través del tráfico de Ethernet que los datos vienen del servidor remoto fuente hacia mi laptop “a través” de DBeaver y luego vuelven hacia el servidor remoto objetivo. Dos viajes por internet para los datos.

¿Existe alguna forma de evitar este doble viaje a través de la red para mis datos? ¿Quizás alguna forma de iniciar un enlace directo entre las dos máquinas cuando no tengo acceso al sistema operativo ni al sistema de archivos de ninguna de ellas?
Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de evitar un doble viaje a través de Internet para la transferencia de datos entre dos servidores remotos de PostgreSQL. Una forma de lograr esto es utilizando la funcionalidad incorporada de PostgreSQL para transferencia de datos de servidor a servidor llamada Foreign Data Wrappers (FDW).

    FDW permite que un servidor de base de datos acceda a tablas o vistas en un servidor de base de datos remoto como si fueran tablas o vistas locales. Esto significa que puedes crear una tabla extranjera que apunte a la tabla del servidor fuente y copiar datos directamente de esa tabla extranjera a la tabla del servidor destino sin tener que involucrar tu laptop o DBeaver.

    Para configurar FDW, deberás crear un objeto de servidor extranjero y un objeto de tabla extranjera en el servidor destino que apunte a la tabla del servidor fuente. Deberás especificar los detalles de la conexión, las credenciales y los mapeos de tabla en los objetos de FDW. Una vez hecho esto, puedes utilizar comandos SQL regulares (por ejemplo, INSERT INTO, SELECT) para copiar datos entre la tabla extranjera y la tabla local.

    Ten en cuenta que configurar FDW requiere algo de configuración y trabajo de instalación, y puede requerir permisos adicionales en ambos servidores. Además, ciertos tipos de datos, funciones y características de consulta pueden no ser compatibles con FDW, así que asegúrate de revisar la documentación de PostgreSQL para conocer las limitaciones y las mejores prácticas.

Comments are closed.