amazon web services - redshift - Mostrar tablas, describir tablas equivalentes en desplazamiento al rojo
redshift astronomy (7)
En la siguiente publicación, documenté las consultas para recuperar los comentarios de TABLE y COLUMN de Redshift. https://sqlsylvia.wordpress.com/2017/04/29/redshift-comment-views-documenting-data/
¡Disfrutar!
Comentarios de tablas
SELECT n.nspname AS schema_name
, pg_get_userbyid(c.relowner) AS table_owner
, c.relname AS table_name
, CASE WHEN c.relkind = ''v'' THEN ''view'' ELSE ''table'' END
AS table_type
, d.description AS table_description
FROM pg_class As c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
LEFT JOIN pg_description As d
ON (d.objoid = c.oid AND d.objsubid = 0)
WHERE c.relkind IN(''r'', ''v'') AND d.description > ''''
ORDER BY n.nspname, c.relname ;
Comentarios de columna
SELECT n.nspname AS schema_name
, pg_get_userbyid(c.relowner) AS table_owner
, c.relname AS table_name
, a.attname AS column_name
, d.description AS column_description
FROM pg_class AS c
INNER JOIN pg_attribute As a ON c.oid = a.attrelid
INNER JOIN pg_namespace n ON n.oid = c.relnamespace
LEFT JOIN pg_tablespace t ON t.oid = c.reltablespace
LEFT JOIN pg_description As d
ON (d.objoid = c.oid AND d.objsubid = a.attnum)
WHERE c.relkind IN(''r'', ''v'')
AND a.attname NOT
IN (''cmax'', ''oid'', ''cmin'', ''deletexid'', ''ctid'', ''tableoid'',''xmax'', ''xmin'', ''insertxid'')
ORDER BY n.nspname, c.relname, a.attname;
Soy nuevo en Aws, ¿alguien puede decirme cuáles son los equivalentes de los desplazamientos al rojo de los comandos de mysql?
show tables -- redshift command
describe table_name -- redshift command
La respuesta de Tomasz Tybulewicz es un buen camino a seguir.
SELECT * FROM pg_table_def WHERE tablename = ''YOUR_TABLE_NAME'' AND schemaname = ''YOUR_SCHEMA_NAME'';
Si el nombre del esquema no está definido en la ruta de búsqueda, esa consulta mostrará el resultado vacío. Primero verifique la ruta de búsqueda por debajo del código.
SHOW SEARCH_PATH
Si el nombre del esquema no está definido en la ruta de búsqueda, puede restablecer la ruta de búsqueda.
SET SEARCH_PATH to ''$user'', public, YOUR_SCEHMA_NAME
O simplemente:
/dt
para mostrar tablas
/d+ <table name>
para describir una tabla
Editar: funciona con el cliente de línea de comando psql
Puede usar - desc / para ver la definición de vista / tabla en Redshift. He estado utilizando Workbench / J como cliente de SQL para Redshift y proporciona la definición en la pestaña Mensajes adyacente a la pestaña Resultados.
Simplemente puede usar el siguiente comando para describir una tabla.
desc table-name
o
desc schema-name.table-name
Toda la información se puede encontrar en una tabla PG_TABLE_DEF
, documentation .
Listar todas las tablas en un esquema public
(predeterminado) - show tables
equivalentes:
SELECT DISTINCT tablename
FROM pg_table_def
WHERE schemaname = ''public''
ORDER BY tablename;
Descripción de todas las columnas de una tabla llamada table_name - describe table
equivalente:
SELECT *
FROM pg_table_def
WHERE tablename = ''table_name''
AND schemaname = ''public'';
Tuve que seleccionar del esquema de información para obtener detalles de mis tablas y columnas; en caso de que ayude a alguien:
SELECT * FROM information_schema.tables
WHERE table_schema = ''myschema'';
SELECT * FROM information_schema.columns
WHERE table_schema = ''myschema'' AND table_name = ''mytable'';