Amazon Redshift non supporterà più la creazione di nuove UDF Python a partire dal 1º novembre 2025. Se desideri utilizzare le UDF Python, creale prima di tale data. Le UDF Python esistenti continueranno a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog
Ripristino di una tabella da uno snapshot
È possibile ripristinare una singola tabella da uno snapshot anziché ripristinare l'intero cluster. Quando ripristini una singola tabella da uno snapshot, devi specificare lo snapshot, il database, lo schema e il nome di tabella di origine e il database, lo schema e un nuovo nome di tabella di destinazione per la tabella ripristinata.
Nota
Le tabelle senza backup non sono supportate per i cluster con provisioning RA3 e i gruppi di lavoro Amazon Redshift serverless. Una tabella contrassegnata come senza backup in un cluster RA3 o un gruppo di lavoro serverless viene trattata come una tabella permanente di cui verrà sempre eseguito il backup durante l’acquisizione di uno snapshot e che verrà sempre ripristinata durante il ripristino da uno snapshot. Tuttavia il ripristino selettivo di tabelle senza backup non è supportato.
Il nuovo nome di tabella non può corrispondere al nome di una tabella esistente. Per sostituire una tabella esistente con una tabella ripristinata da uno snapshot, rinomina o elimina la tabella esistente prima di ripristinare la tabella dallo snapshot.
La tabella di destinazione viene creata usando le definizioni di colonna, gli attributi di tabella e gli attributi di colonna della tabella di origine, a esclusione delle chiavi esterne. Per impedire conflitti dovuti alle dipendenze, la tabella di destinazione non eredita le chiavi estere dalla tabella di origine. Eventuali dipendenze, come viste o autorizzazioni concesse nella tabella di origine, non vengono applicate alla tabella di destinazione.
Se il proprietario della tabella di origine esiste, l'utente del database diventa il proprietario della tabella ripristinata, a condizione che abbia le autorizzazioni sufficienti per diventare il proprietario di una relazione nel database e nello schema specificati. In caso contrario, la tabella ripristinata è di proprietà dell'utente master creato all'avvio del cluster.
La tabella ripristinata torna allo stato in cui si trovava al momento dell'esecuzione del backup. Ciò include le regole di visibilità delle transazioni definite dall'applicazione in Amazon Redshift dell'isolamento serializzabile, che prevede che i dati siano immediatamente visibili per le transazioni in corso avviate dopo il backup.
Il ripristino di una tabella da uno snapshot prevede le limitazioni seguenti:
-
È possibile ripristinare una tabella solo nel cluster in esecuzione attivo e corrente e da uno snapshot acquisito da tale cluster.
-
È possibile ripristinare una sola tabella per volta.
-
Non è possibile ripristinare una tabella da uno snapshot di un cluster acquisito prima del ridimensionamento del cluster. Un'eccezione è che è possibile ripristinare una tabella dopo un ridimensionamento elastico se il tipo di nodo non è cambiato.
-
Eventuali dipendenze, come viste o autorizzazioni concesse nella tabella di origine, non vengono applicate alla tabella di destinazione.
-
Se la sicurezza a livello di riga è attivata per il ripristino di una tabella, Amazon Redshift ripristina la tabella con la sicurezza a livello di riga attivata.
Per ripristinare una tabella da uno snapshot
-
Accedere alla Console di gestione AWS e aprire la console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshiftv2/
. -
Dal menu navigazione, scegliere Clusters (Cluster), quindi scegliere il cluster che si intende utilizzare per ripristinare una tabella.
-
Alla voce Actions (Operazioni), scegli Restore table (Ripristina tabella) per visualizzare la pagina Restore table (Ripristina tabella).
-
Inserisci le informazioni su quale snapshot, tabella di origine e tabella di destinazione da utilizzare, quindi scegli Restore table (Ripristina tabella).
Esempio: Ripristino di una tabella da uno snapshot tramite AWS CLI
Nell'esempio seguente viene usato il comando restore-table-from-cluster-snapshot AWS CLI per ripristinare la tabella my-source-table dallo schema sample-database in my-snapshot-id. Puoi utilizzare il comando AWS CLI describe-table-restore-status per esaminare lo stato dell'operazione di ripristino. L'esempio ripristina lo snapshot nel cluster mycluster-example con un nuovo nome di tabella corrispondente a my-new-table.
aws redshift restore-table-from-cluster-snapshot --cluster-identifier mycluster-example --new-table-name my-new-table --snapshot-identifier my-snapshot-id --source-database-name sample-database --source-table-name my-source-table