database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 5877 게시물 읽기
No. 5877
desc table명 과 같은 명령어가 뭐에요?
작성자
초보
작성일
2005-02-07 11:05
조회수
4,113

\d 말고 쿼리로 날릴 수 있는 desc table명 과 같은 명령어가 뭐에요?

 

 

이 글에 대한 댓글이 총 2건 있습니다.

시스템 카타로그 정보를 이용하는 것을 배우는 가장 좋은 방법은 psql 사용할 때, -E 옵션을 사용하는 방법입니다.

 

[ioseph@bengi ioseph]$ psql -E mydb
비밀번호:
화면단위 보기 기능 끔(전체 자료 모두 보여줌)
Welcome to psql 8.0.1, the PostgreSQL interactive terminal.
사용법:  \copyright 저작권 정보
         \h SQL 명령어 도움말
         \? 내장 명령어 도움말
         \g 또는 명령 끝에 ; 쿼리 실행
         \q 마침
mydb=# \encoding uhc
mydb=# \dt
********* QUERY **********
SELECT n.nspname as "스키마",
  c.relname as "이름",
  CASE c.relkind WHEN 'r' THEN '테이블' WHEN 'v' THEN '뷰(view)' WHEN 'i' THEN '인덱스' WHEN 'S' THEN '시퀀스' WHEN 's' THEN '특수' END as "형태",
  u.usename as "소유주"
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_user u ON u.usesysid = c.relowner
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
      AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
      AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
       릴레이션(relation) 목록
 스키마 |  이름   |  형태  |  소유주
--------+---------+--------+----------
 public | t       | 테이블 | postgres
 public | zipcode | 테이블 | postgres
(2건 있음)

mydb=# \d zipcode
********* QUERY **********
SELECT c.oid,
  n.nspname,
  c.relname
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
      AND c.relname ~ '^zipcode$'
ORDER BY 2, 3;
**************************
********* QUERY **********
SELECT relhasindex, relkind, relchecks, reltriggers, relhasrules,
relhasoids , reltablespace
FROM pg_catalog.pg_class WHERE oid = '550929'
**************************
********* QUERY **********
SELECT a.attname,
  pg_catalog.format_type(a.atttypid, a.atttypmod),
  (SELECT substring(d.adsrc for 128) FROM pg_catalog.pg_attrdef d
   WHERE d.adrelid = a.attrelid AND d.adnum = a.attnum AND a.atthasdef),
  a.attnotnull, a.attnum
FROM pg_catalog.pg_attribute a
WHERE a.attrelid = '550929' AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
**************************
********* QUERY **********
SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true)
FROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i
WHERE c.oid = '550929' AND c.oid = i.indrelid AND i.indexrelid = c2.oid
ORDER BY i.indisprimary DESC, i.indisunique DESC, c2.relname
**************************

********* QUERY **********
SELECT c.relname FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i WHERE c.oid=i.inhparent AND i.inhrelid = '550929' ORDER BY inhseqno ASC
**************************
           "public.zipcode" 테이블
 필드명  |         형태          | 기타 조건
---------+-----------------------+-----------
 zipcode | character(7)          |
 sido    | character varying(2)  |
 gugun   | character varying(7)  |
 dong    | character varying(12) |
 ri      | character varying(19) |
 bunji   | character varying(16) |
 seq     | integer               |
인덱스들:
    "zipcode_dong_i" btree (dong)

 

또 다른 한 방법으로 information_schema 스키마를 이용하는 방법도 있습니다.

이 스키마 안에 있는 모든 뷰는 SQL 표준을 따릅니다. psql 놈을 사용한다면,

select * form informa

이정도 쓰고, tab 글쇠를 누르면, 나머지 자동완성 기능을 이용할 수 있으니, 이놈을 이용해서, 원하는 정보를 찾아가는 방법도 좋은 방법일겝니다.

pgAdmin 놈을 사용한다면, 디스플레이 메뉴에서 시스템 객체를 보겠다고 설정해서 살펴보면 됩니다.

 

김상기(ioseph)님이 2005-02-07 11:22에 작성한 댓글입니다.
이 댓글은 2005-02-07 11:29에 마지막으로 수정되었습니다.

친절하신 답변 감사드립니다.

 

초보님이 2005-02-07 13:29에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5883vacuum full 실행 후 오히려 용량이 더 늘어났습니다. ^^;; [4]
권진호
2005-02-11
2711
5882vacuum full verbose 하는 도중에 거의 정지 상태로... ^^;; [1]
권진호
2005-02-11
2463
5881암호 자동입력에 관한 질문 [4]
초짜
2005-02-11
4530
5877desc table명 과 같은 명령어가 뭐에요? [2]
초보
2005-02-07
4113
5876오라클의 select * from tab; 과 같은 명령어가 뭐에요? [3]
초보
2005-02-07
2521
58758.0.1 설치시의 인코딩과 설치후 DB Create후의 Server Encoding에 대하여 [2]
김이수
2005-02-05
3372
5874데이터베이스 복구에 대해 질문.. [1]
초짜
2005-02-05
2484
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다