Eseguire la migrazione dei dati da e verso un cluster abilitato alla crittografia TDE

Seleziona una versione della documentazione:

Questa guida descrive come eseguire la migrazione dei dati tra cluster abilitati per la crittografia dei dati trasparente (TDE) e non criptati utilizzando pg_dump e pg_restore.

Entrambe le direzioni di migrazione, da TDE a non criptato e viceversa, sono supportate e utilizzano gli strumenti di backup logico standard di PostgreSQL.

La migrazione logica che utilizza pg_dump decodifica i dati criptati in tempo reale all'origine e li scarica come istruzioni SQL non criptate. Quando ripristini i dati, il cluster di destinazione li scrive in base alle proprie impostazioni di crittografia. Il cluster di destinazione cripta i dati se TDE è abilitato e li scrive come testo normale se TDE è disabilitato.

Prima di iniziare

Eseguire la migrazione di un database abilitato per TDE a un database disabilitato per TDE

  1. Scarica il database dal server di database abilitato per TDE in un file sull'host.

    Docker

    docker exec -i TDE_CONTAINER_NAME pg_dump -U postgres -d DATABASE_NAME > /tmp/decrypted_dump.sql
    

    Podman

    podman exec -i TDE_CONTAINER_NAME pg_dump -U postgres -d DATABASE_NAME > /tmp/decrypted_dump.sql
    
  2. Avvia un server AlloyDB Omni disabilitato per TDE seguendo le istruzioni riportate in Installare AlloyDB Omni utilizzando Docker.

  3. Ripristina il file di dump sul server di database non criptato.

    Docker

    docker exec -i NON_TDE_CONTAINER_NAME psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    docker exec -i NON_TDE_CONTAINER_NAME psql -U postgres -d DATABASE_NAME < /tmp/decrypted_dump.sql
    

    Podman

    podman exec -i NON_TDE_CONTAINER_NAME psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    podman exec -i NON_TDE_CONTAINER_NAME psql -U postgres -d DATABASE_NAME < /tmp/decrypted_dump.sql
    

Eseguire la migrazione di un database disabilitato per TDE a un database abilitato per TDE

  1. Utilizza pg_dump per fare il dump del database dal server di database non crittografato.

    Docker

    docker exec -i NON_TDE_CONTAINER_NAME pg_dump -U postgres -d DATABASE_NAME > /tmp/src_plaintext_dump.sql
    

    Podman

    podman exec -i NON_TDE_CONTAINER_NAME pg_dump -U postgres -d DATABASE_NAME > /tmp/src_plaintext_dump.sql
    
  2. Avvia un server AlloyDB Omni abilitato per TDE seguendo le istruzioni riportate in Creare un cluster abilitato per TDE.

  3. Esegui il ripristino sul server di database abilitato per TDE. I dati vengono criptati in modo trasparente durante la scrittura.

    Docker

    docker exec -i TDE_CONTAINER_NAME psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    docker exec -i TDE_CONTAINER_NAME psql -U postgres -d DATABASE_NAME < /tmp/src_plaintext_dump.sql
    

    Podman

    podman exec -i TDE_CONTAINER_NAME psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    podman exec -i TDE_CONTAINER_NAME psql -U postgres -d DATABASE_NAME < /tmp/src_plaintext_dump.sql
    

Passaggi successivi