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

Select a documentation version:

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

Entrambe le direzioni di migrazione, da TDE a non criptata 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.

    /usr/lib/postgresql/18/bin/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 RPM.

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

    /usr/lib/postgresql/18/bin/psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    /usr/lib/postgresql/18/bin/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 scaricare il database dal server di database non criptato.

    /usr/lib/postgresql/18/bin/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. Ripristina il server di database abilitato per TDE. I dati vengono criptati in modo trasparente durante la scrittura.

    /usr/lib/postgresql/18/bin/psql -U postgres -c "CREATE DATABASE DATABASE_NAME"
    /usr/lib/postgresql/18/bin/psql -U postgres -d DATABASE_NAME < /tmp/src_plaintext_dump.sql
    

Passaggi successivi