Sur Redshift, pourquoi ma table n'apparaît-elle pas dans la requête suivante? Il existe définitivement, comme le montre la prochaine requête que j'exécute. Je veux un moyen de lister toutes les tables pour un schéma:
mydb=# select distinct(tablename) from pg_table_def where schemaname = 'db';
tablename
-----------
(0 rows)
mydb=# \d db.some_table
Table "db.some_table"
Column | Type | Modifiers
-----------------+-----------------------------+-----------
...correct info shows up here...
...but nothing showed up above?
select schemaname, tablename from pg_table_def
:?Réponses:
PG_TABLE_DEF dans Redshift ne renvoie que des informations sur les tables visibles par l'utilisateur, en d'autres termes, il ne vous montrera que les tables qui se trouvent dans le ou les schémas définis dans la variable search_path. Si PG_TABLE_DEF ne renvoie pas les résultats attendus, vérifiez que le paramètre search_path est correctement défini pour inclure le ou les schémas appropriés.
Essaye ça -
Exécutez ensuite votre requête -
la source
PG_TABLE_DEF renverra uniquement des informations pour les tables des schémas inclus dans le chemin de recherche. Lien
la source