Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Rubriques
En général, vous pouvez joindre des tables et des vues du catalogue (relations dont les noms commencent par PG_
) à des tables et des vues Amazon Redshift.
Les tables du catalogue utilisent un certain nombre de types de données non pris en charge par Amazon Redshift. Les types de données suivants sont pris en charge lorsque des requêtes joignent des tables de catalogue à des tables Amazon Redshift :
-
bool
-
"char"
-
float4
-
int2
-
int4
-
int8
-
name
-
oid
-
text
-
varchar
Si vous écrivez une requête de jointure qui fait référence explicitement ou implicitement à une colonne avec un type de données non pris en charge, la requête renvoie une erreur. Les fonctions SQL qui sont utilisées dans certaines des tables catalogue ne sont également pas prises en charge, à l'exception de celles utilisées par les tables PG_SETTINGS et PG_LOCKS.
Par exemple, la table PG_STATS ne peut pas être interrogée dans une jointure avec une table Amazon Redshift en raison de fonctions non prises en charge.
Les tables et vues du catalogue suivantes fournissent des informations utiles qui peuvent être jointes à des informations dans les tables Amazon Redshift. Certaines de ces tables autorisent uniquement un accès partiel en raison de restrictions de type de données et de fonction. Lorsque vous interrogez les tables partiellement accessibles, sélectionnez ou faites référence à leurs colonnes avec soin.
Les tables suivantes sont totalement accessibles et ne contiennent pas les types ou fonctions non pris en charge :
Les tables suivantes sont partiellement accessibles et contiennent certains types, fonctions et colonnes de texte tronquées non pris en charge. Les valeurs dans les colonnes de texte sont tronquées en valeurs varchar(256).
Les tables du catalogue qui ne sont pas répertoriées ici sont inaccessibles ou probablement inutiles pour les administrateurs Amazon Redshift. Cependant, vous pouvez interroger librement une table ou une vue du catalogue si votre requête n'implique pas de jointure avec une table Amazon Redshift.
Vous pouvez utiliser les colonnes OID dans les tables catalogue Postgres en tant que colonnes de jointure. Par exemple, la condition de jointure pg_database.oid = stv_tbl_perm.db_id
correspond à l'ID d'objet de base de données interne de chaque ligne PG_DATABASE avec la colonne DB_ID visible dans la table STV_TBL_PERM. Les colonnes OID sont des clés primaires internes qui ne sont pas visibles lorsque vous effectuez la sélection depuis la table. Les vues catalogue ne disposent pas de colonnes OID.
Certaines fonctions Amazon Redshift ne doivent s'exécuter que sur les nœuds de calcul. Si une requête fait référence à une table créée par un utilisateur, l’instruction SQL s’exécute sur les nœuds de calcul.
Une requête qui ne fait référence qu’aux tables catalogue (tables avec le préfixe PG, comme PG_TABLE_DEF) ou qui ne fait référence à aucune table, s’exécute exclusivement sur le nœud principal.
Si une requête qui utilise une fonction de nœud de calcul ne fait pas référence à une table définie par un utilisateur ou à une table système Amazon Redshift, elle renvoie l’erreur suivante :
[Amazon](500310) Invalid operation: One or more of the used functions must be applied on at least one user created table.