88 votes

Montrer les tableaux, décrire les tableaux équivalents en redshift

Je suis novice en matière d'aws, quelqu'un peut-il me dire quels sont les équivalents de redshifts aux commandes mysql ?

show tables -- redshift command
describe table_name -- redshift command

125voto

Tomasz Tybulewicz Points 2124

Toutes les informations peuvent être trouvées dans un PG_TABLE_DEF table, la documentation .

Liste de tous les tableaux d'un public schéma (par défaut) - show tables équivalent :

SELECT DISTINCT tablename
FROM pg_table_def
WHERE schemaname = 'public'
ORDER BY tablename;

Description de toutes les colonnes d'un tableau appelé nom_de_table - describe table équivalent :

SELECT *
FROM pg_table_def
WHERE tablename = 'table_name'
AND schemaname = 'public';

Mise à jour :

Comme indiqué dans la réponse de @Kishan Pandey, si vous recherchez les détails d'un schéma différent de public vous devez set search_path to my_schema . ( show search_path afficher le chemin de recherche actuel)

Lister les tableaux dans my_schema schéma :

set search_path to my_schema;
select * from pg_table_def;

89voto

Alex Hinton Points 977

J'ai dû sélectionner le schéma d'information pour obtenir les détails de mes tables et colonnes ; au cas où cela aiderait quelqu'un :

SELECT * FROM information_schema.tables
WHERE table_schema = 'myschema'; 

SELECT * FROM information_schema.columns
WHERE table_schema = 'myschema' AND table_name = 'mytable';

33voto

Matt Points 345

Ou simplement :

\dt pour afficher les tableaux

\d+ <table name> pour décrire un tableau

Edit : Fonctionne avec le client en ligne de commande psql

12voto

Kishan Pandey Points 101

La réponse de Tomasz Tybulewicz est une bonne solution.

SELECT * FROM pg_table_def WHERE tablename = 'YOUR_TABLE_NAME' AND schemaname = 'YOUR_SCHEMA_NAME';

Si le nom du schéma n'est pas défini dans le chemin de recherche, cette requête donnera un résultat vide. Veuillez d'abord vérifier le chemin de recherche à l'aide du code ci-dessous.

SHOW SEARCH_PATH

Si le nom du schéma n'est pas défini dans le chemin de recherche, vous pouvez réinitialiser le chemin de recherche.

SET SEARCH_PATH to '$user', public, YOUR_SCEHMA_NAME

1voto

Vous pouvez utiliser - desc / pour voir la définition de la vue/table dans Redshift. J'ai utilisé Workbench/J comme client SQL pour Redshift et il donne la définition dans l'onglet Messages adjacent à l'onglet Result.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X