developer tip

테이블 표시, redshift에서 동등한 테이블 설명

optionbox 2020. 10. 28. 08:01
반응형

테이블 표시, redshift에서 동등한 테이블 설명


AWS를 처음 사용하는 사람인데 mysql 명령에 대한 redshifts의 동등 항목이 무엇인지 알려 주실 수 있습니까?

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

모든 정보는 문서PG_TABLE_DEF 테이블 에서 찾을 수 있습니다 .

public스키마의 모든 테이블 나열 (기본값)- show tables동일 :

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

table_name 이라는 테이블의 모든 열에 대한 설명 - describe table동등 :

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

내 테이블과 열에 대한 세부 정보를 얻으려면 정보 스키마에서 선택해야했습니다. 누구에게나 도움이되는 경우 :

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

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

또는 간단히 :

\dt 표를 보여주기 위해

\d+ <table name> 테이블을 설명하기 위해

편집 : psql 명령 줄 클라이언트를 사용하여 작동


Tomasz Tybulewicz 답변은 좋은 방법입니다.

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

검색 경로에 스키마 이름이 정의되지 않은 경우 해당 쿼리는 빈 결과를 표시합니다. 먼저 아래 코드로 검색 경로를 확인하십시오.

SHOW SEARCH_PATH

검색 경로에 스키마 이름이 정의되어 있지 않은 경우 검색 경로를 재설정 할 수 있습니다.

SET SEARCH_PATH to '$user', public, YOUR_SCEHMA_NAME

-desc /를 사용하여 Redshift에서보기 / 테이블 정의를 볼 수 있습니다. Workbench / J를 Redshift 용 SQL 클라이언트로 사용해 왔으며 결과 탭 옆에있는 메시지 탭에 정의가 제공됩니다.


다음 게시물에서는 Redshift에서 TABLE 및 COLUMN 주석을 검색하는 쿼리를 문서화했습니다. https://sqlsylvia.wordpress.com/2017/04/29/redshift-comment-views-documenting-data/

즐겨!

테이블 설명

    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 ;

열 주석

    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;

아래 명령을 사용하여 테이블을 설명 할 수 있습니다.

desc table-name

또는

desc schema-name.table-name

참고 URL : https://stackoverflow.com/questions/18733385/show-tables-describe-tables-equivalent-in-redshift

반응형