명령어/DB

[PostgreSQL] \dt 데이터베이스의 테이블 목록을 본다

jykim23 2026. 7. 30. 22:11
반응형

설치·접속: PostgreSQL 설치와 접속

부제: 접속한 DB에 어떤 테이블이 있는지, 소유자와 용량까지 확인한다

psql -d shop -c '\dt'      # 테이블 목록
psql -d shop -c '\dt+'     # 용량·저장방식까지 상세
psql -d shop -c '\dt u*'   # u로 시작하는 테이블만
          List of relations
 Schema |   Name   | Type  |  Owner
--------+----------+-------+----------
 public | orders   | table | postgres
 public | products | table | postgres
 public | users    | table | postgres
(3 rows)

\dt는 현재 DB의 테이블만 골라 나열한다. d는 describe, t는 table이다. 스키마·이름·타입·소유자를 보여주며, 뷰나 시퀀스는 빼고 순수 테이블만 나온다. 처음 보는 DB의 구조를 파악할 때 \l로 DB를 고르고 \dt로 테이블을 훑는 게 정석 흐름이다. 뒤에 +를 붙이면 각 테이블이 디스크에서 얼마나 차지하는지까지 나와, 어떤 테이블이 비대해졌는지 바로 짚어낼 수 있다.

이렇게도 쓴다

용량과 저장 방식(heap 등)까지 확인한다.

psql -d shop -c '\dt+'

 

이름 패턴으로 원하는 테이블만 좁힌다.

psql -d shop -c '\dt *order*'

 

테이블뿐 아니라 인덱스도 함께 보고 싶으면 인덱스 목록을 쓴다.

psql -d shop -c '\di'

 

가장 큰 테이블 순으로 정렬해 용량 상위를 짚는다. (SQL 조합)

psql -d shop -c "SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) FROM pg_stat_user_tables ORDER BY pg_total_relation_size(relid) DESC;"

 

테이블 개수만 세어 셸에서 확인한다. (조합: -At + wc)

psql -d shop -Atc "SELECT tablename FROM pg_tables WHERE schemaname='public'" | wc -l
반응형