PostgreSQL: 전체 DB에서 컬럼명으로 Table 찾기

calico·2025년 7월 15일

Database

목록 보기
6/7

출처

INFORMATION_SCHEMA 란?


  1. 시스템 데이터베이스: INFORMATION_SCHEMA는 Database 서버가 시작될 때 자동으로 생성되는 시스템 데이터베이스

  2. 메타데이터 제공: 데이터베이스, 테이블, 컬럼, 인덱스 등 Database 서버의 구조와 설정에 대한 메타데이터 정보를 제공

  3. 읽기 전용: 사용자가 직접 데이터를 수정할 수 없는 읽기 전용 데이터베이스

  4. 가상 테이블: INFORMATION_SCHEMA의 테이블들은 실제 데이터를 저장하지 않는 가상 테이블이다.

    • 쿼리 실행 시 실시간으로 정보를 생성
  1. 표준 준수: SQL 표준의 일부로, 다른 데이터베이스 시스템에서도 유사한 기능을 제공

  2. 권한에 따른 접근 제어: 사용자의 권한에 따라 볼 수 있는 정보가 제한



테이블 검색 쿼리 예시


  • PostgreSQL 데이터베이스 전체에서 특정 컬럼이 존재하는 테이블을 찾으려면 information_schema.columns 뷰를 쿼리하면 됩니다.

    • 이 쿼리를 실행하면 지정한 컬럼 이름과 동일한 컬럼을 가진 모든 테이블의 스키마와 테이블 이름을 반환합니다.
SELECT table_schema, table_name
FROM information_schema.columns
WHERE column_name = '찾고 싶은_컬럼명';
  • table_schema: 테이블이 속한 스키마(스키마가 없다면 public이 기본값)를 보여줍니다.

  • table_name: 특정 컬럼을 포함하는 테이블의 이름을 보여줍니다.

  • column_name = '찾고 싶은_컬럼명': 찾고자 하는 특정 컬럼 이름을 지정합니다.



profile
개인 블로그

0개의 댓글