ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PostgreSQL - 테이블 컬럼 스키마정보 알아보기
    개발기록/DB 2018. 3. 30. 11:52


    원천DB에서 숑 하고 HDFS로 올려야 하는 빅데이터 작업의 경우,

    하둡 HDFS에 데이터를 적재할 때, 기본적으로 원천 DB에 스키마 조사를 먼저 시작한다.

    위의 그림과 같은 형식으로 조사를 하는데, PostgreSQL은 처음인데 검색을 해도 많지는 않은것 같아서 올려본다.



    select 
    (ROW_NUMBER() OVER()) AS "번호",
    table_name as "테이블 논리명",
    table_name as "테이블명",
    column_name as "컬럼명",
    data_type as "type",
    CASE WHEN data_type = 'numeric' THEN
      CASE WHEN numeric_scale > 0 THEN
        numeric_precision::varchar||','||numeric_precision_radix::varchar
    ELSE
        numeric_precision::varchar
      END
    ELSE
        character_maximum_length::varchar
    END AS "length",
    ordinal_position as "컬럼순번"
    from information_schema.columns where table_schema='ujy'
    and table_name in ('dm_legal_reserv_info_bk','dm_std_legal_reserv_info_bk');

    PostgreSQL에서 ::은 형변환을 의미하고

    ||는 연결연산자를 의미한다.

    character_maximum_length로 길이를 나타낼때, numeric 타입이 조회되지 않아서

    case문으로 numeric 길이를 조회했다.

    조회하고자 하는 table_name으로 해당 테이블의 카탈로그 정보를 가져올 수 있다.


    '개발기록 > DB' 카테고리의 다른 글

    PostgreSQL - 개행문자 제거하기  (0) 2018.04.01

    댓글

Designed by Tistory.