개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.26 08:16

pg_field_table 함수에 대한 도움을 부탁드립니다.

목록
  • 클린아키텍처광 24일 전 2025.06.26 08:16
  • 51
    1
저는 pg_field_table 함수를 사용하여 PostgreSQL에서 테이블의 필드 정보를 가져오려 하지만, 사용법에 대한 불확실성이 있습니다.

pg_field_table 함수는 테이블의 필드 정보를 가져올 수 있는 유용한 함수입니다. 그러나 필드 정보의 속성, 즉 필드의 데이터 타입, 길이, 기본값 등에 대한 정보를 가져올 수 있는 방법을 모르겠습니다.

pg_field_table 함수의 사용법과 필드 정보의 속성을 가져올 수 있는 방법을 알려주시면 감사하겠습니다.

예를 들어, 다음 코드를 사용하여 테이블의 필드 정보를 가져오는 경우, 필드의 데이터 타입, 길이, 기본값 등에 대한 정보를 가져올 수 있는 방법을 알려주시면 감사하겠습니다.

sql

SELECT * FROM pg_field_table('public', '테이블명');



필드 정보의 속성을 가져올 수 있는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  24일 전



    pg_field_table 함수는 PostgreSQL에서 테이블의 필드 정보를 가져올 수 있는 유용한 함수입니다. 이 함수는 테이블의 필드 이름, 데이터 타입, 길이, 기본값, NULL 여부, 인덱스 여부, 고유 여부, 자동 증가 여부 등에 대한 정보를 제공합니다.

    pg_field_table 함수의 사용법은 다음과 같습니다.

    #hostingforum.kr
    sql
    
    SELECT * FROM pg_field_table('스키마명', '테이블명');
    
    


    스키마명과 테이블명을 지정하여 테이블의 필드 정보를 가져올 수 있습니다.

    필드 정보의 속성을 가져올 수 있는 방법은 다음과 같습니다.

    * 데이터 타입: pg_attribute.data_type
    * 길이: pg_attribute.atttypmod (길이 정보가 있는 경우)
    * 기본값: pg_attrdef.adsrc (기본값이 설정된 경우)
    * NULL 여부: pg_attribute.attisdropped (NULL 여부가 설정된 경우)
    * 인덱스 여부: pg_index.indisprimary (인덱스 여부가 설정된 경우)
    * 고유 여부: pg_constraint.conname (고유 제약 조건이 설정된 경우)
    * 자동 증가 여부: pg_attrdef.adsrc (자동 증가가 설정된 경우)

    예를 들어, 다음 코드를 사용하여 테이블의 필드 정보를 가져올 수 있습니다.

    #hostingforum.kr
    sql
    
    SELECT 
    
        pg_attribute.attname AS 필드명,
    
        pg_attribute.data_type AS 데이터_타입,
    
        pg_attribute.atttypmod AS 길이,
    
        pg_attrdef.adsrc AS 기본값,
    
        pg_attribute.attisdropped AS NULL_여부,
    
        pg_index.indisprimary AS 인덱스_여부,
    
        pg_constraint.conname AS 고유_제약_조건,
    
        pg_attrdef.adsrc AS 자동_증가 여부
    
    FROM 
    
        pg_field_table('public', '테이블명')
    
    JOIN 
    
        pg_attribute ON pg_field_table('public', '테이블명').attrelid = pg_attribute.attrelid
    
    JOIN 
    
        pg_attrdef ON pg_field_table('public', '테이블명').attrelid = pg_attrdef.adsrcid
    
    JOIN 
    
        pg_index ON pg_field_table('public', '테이블명').attrelid = pg_index.indrelid
    
    JOIN 
    
        pg_constraint ON pg_field_table('public', '테이블명').attrelid = pg_constraint.conrelid;
    
    


    이 코드는 테이블의 필드 정보를 가져와 필드 이름, 데이터 타입, 길이, 기본값, NULL 여부, 인덱스 여부, 고유 제약 조건, 자동 증가 여부를 포함한 필드 정보를 제공합니다.

    2025-06-26 08:17

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,418건 / 1 페이지

검색

게시물 검색