Copiando el esquema de la vertica o todas las mesas en un esquema de un grupo físico a otro grupo físico
-
21-12-2019 - |
Pregunta
Estoy tratando de exportar e importar el esquema de la vertica de un grupo físico a otro grupo físico. Mi instancia de prueba tiene un solo grupo y mi instancia de producción tiene 3 grupos.
Exploré las siguientes opciones, pero se limitan a mover datos en una instancia física de la vertica:
- exportar a vertica ..
- copia de esquema.table de la vertica ...
Me gustaría saber si hay una opción para mover el esquema de la vertica de una instancia física de la vertica a otra, con diferente configuración de clúster.
Solución
Esta es una manipulación complicada, que tiene muchos problemas:
- Si copia a través de DDLS, perderá el valor actual de las secuencias, lo que podría significar la clave principal de duplicar cuando inserta datos.
- Si las columnas se configuran como Auto_Increment, no podrá insertar datos en él, ya que está en la fuente (no puede forzar una columna Auto_Inscrement, aunque creo que esto podría haber sido fijado en nuevos lanzamientos).
- Si copia DDLS entre agrupaciones con un número diferente de nodos, si los nombres de los nodos son parte de la definición de proyección, terminará con algo que no desea.
- Como se notó, las redes diferentes evitarán el uso de Conectar.
Un intento de ayudarlo con esto se ha hecho en Python a través de la pyvertica utilidad, y especialmente The vertica_migrate script. Puede encontrar el DOC en https://pyvertica.readthedocs.org .
Este es un trabajo complicado, y sé que hay algunos problemas en este script, aunque ya me ayudó a MUCHO .
Espero que esto haya ayudado,
Otros consejos
Puede usar > COPY FROM VERTICA
o EXPORT TO VERTICA
para importar / exportar los datos a otra base de datos de vertica (independientemente de la configuración del nodo). Además, la tabla de destino ya debe existir. Puede usar EXPORT_OBJECTS
< / a> para exportar el DDL. Ambos métodos permiten la migración de datos de una versión que es una versión anterior de la última versión principal (ejecutando 6.x, puede importar desde 5.x).
primero debe crear una conexión a la otra base de datos:
CONNECT TO VERTICA VMart USER dbadmin PASSWORD '' ON 'VerticaTarget',5433;
Luego use EXPORT TO VERTICA
para exportar los datos de la fuente a la base de datos de destino:
EXPORT TO VERTICA VMart.schema.customer_dimension FROM schema.customer_dimension;
|______________________________| |_______________________|
| |
Target Source
DISCONNECT VMart;