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 con crittografia trasparente dei dati (TDE) abilitata e cluster non criptati utilizzando pg_dump e pg_restore.

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

La migrazione logica con pg_dump decodifica i dati criptati in tempo reale nell'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 la TDE è abilitata e li scrive come testo normale se la TDE è disabilitata.

Prima di iniziare

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

  1. Esegui il dump del 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 con TDE disattivato seguendo le istruzioni riportate in Installa 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
    

Esegui la migrazione di un database con TDE disattivato a un database con TDE abilitato

  1. Utilizza pg_dump per eseguire il dump del database dal server di database non criptato.

    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 Crea 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