Pourquoi manque-t-il des tables à mon instantané Amazon Redshift ?

Date de la dernière mise à jour : 26/03/2020

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.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?