J'ai restauré un instantané à partir d'un cluster Amazon Redshift, mais il manque des tables dans cet instantané. Comment sauvegarder mes tables manquantes ?
Brève description
Les tables créées en tant que tables sans sauvegarde sont exclues des instantanés Amazon Redshift. Vérifiez si Amazon Redshift a exclu votre table parce qu'elle a été créée à l'aide du paramètre BACKUP NO. Ensuite, effectuez une copie profonde.
Solution
Pour sauvegarder les tables manquantes à partir de votre instantané Amazon Redshift, effectuez les opérations suivantes :
1. Vérifiez la DDL (Data Definition Language) des tables manquantes dans l'instantané.
2. Si la DDL de la table n'est pas disponible, exécutez la requête suivante en tant que super-utilisateur :
SELECT DISTINCT Rtrim(n.nspname) AS schema_name,
Rtrim(name) AS table_name,
backup
FROM stv_tbl_perm t
join pg_class c
ON t.id = c.oid
join pg_namespace n
ON n.oid = c.relnamespace
ORDER BY 1,2;
La requête ci-dessus identifie les tables de la base de données connectée qui ne sont pas sauvegardées dans l'instantané. Elle interroge STV_TBL_PERM, la table système uniquement visible par les comptes super-utilisateur. Pour plus d'informations sur les vues qui ne sont disponibles que pour les super-utilisateurs, consultez Visibilité des données dans les vues et tables système.
Remarque : la valeur 0 pour la colonne de sauvegarde indique que la table a été créée à l'aide du paramètre BACKUP NO. Vous ne pouvez pas modifier une table existante dans Amazon Redshift à l'aide du paramètre BACKUP YES.
3. Si votre table a été créée en tant que table sans sauvegarde, recréez la table sans le paramètre BACKUP NO.
4. Effectuez une copie profonde de vos tables manquantes.
Informations connexes
Paramètres CREATE TABLE AS
Instantanés Amazon Redshift