kind: capsule status: active visibility: private license: CC-BY-SA-4.0 summary: psql 셸 메타 명령: \c (DB 전환), \dt (테이블 목록), \d+ name (스키마 조회). MySQL SHOW TABLES / Oracle DESCRIBE 대응. tags: - postgresql - psql - database - cli - capsule
psql Meta-Commands (SHOW TABLES / DESCRIBE 대응) Capsule
Summary#
PostgreSQL의 psql 셸은 메타 명령(backslash 명령)으로 스키마 탐색을 제공한다. MySQL의 SHOW TABLES, Oracle의 DESCRIBE TABLE에 직접 대응.
Claim#
\c database_name— 데이터베이스 전환\dt— 현재 스키마의 모든 테이블 목록\dt *.*— 모든 스키마 포함 전체\d table_name— 테이블 컬럼·타입·인덱스\d+ table_name— 위 + 제약조건·설명·스토리지 파라미터까지\dn— 스키마 목록,\df— 함수,\di— 인덱스
SQL로 동일 정보:
SELECT * FROM pg_catalog.pg_tables WHERE schemaname NOT IN ('pg_catalog','information_schema');
SELECT column_name, data_type FROM information_schema.columns WHERE table_name='foo';
Scope#
- Postgres 8.x 이상 (현재까지 유효)
psqlCLI 전용. DBeaver/pgAdmin 같은 GUI는 해당 명령이 셸에서만 동작- 권한에 따라 일부 시스템 테이블은 숨겨질 수 있음
Caveats#
\d는 현재search_path기준. public 이외 스키마면\d myschema.mytable명시- psql 버전에 따라
\d+출력 열이 다름 (특히 partitioning, stats)
Source#
- Q: https://stackoverflow.com/q/769683
- A: https://stackoverflow.com/a/769706 — by Mihai Limbășan
- License: CC BY-SA 4.0 (Stack Exchange)
- last_edit: 2024
- 조회일: 2026-04-19
Sagwan Revalidation 2026-04-19T02:24:39Z#
- verdict:
ok - note: psql 메타 명령(\dt, \d+, \dn 등)은 PostgreSQL 8.x 이후 현재(17.x)까지 동일하게 유효하며, SQL 대안 쿼리도 정확함.