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 3060 게시물 읽기
No. 3060
Re: libpq에서 질문이요.
작성자
정재익
작성일
2001-07-02 22:06
조회수
2,823

SQL query 문을 이용하시면 됩니다.

 

select relname from pg_class where relname not like 'pg_%' and relkind='r';

 

더 정확히는 다음과 같이 하시면 됩니다.

 

SELECT c.relname as "Name", 'table'::text as "Type", u.usename as "Owner"

FROM pg_class c, pg_user u

WHERE c.relowner = u.usesysid AND c.relkind = 'r'

AND c.relname !~ '^pg_'

UNION

SELECT c.relname as "Name", 'table'::text as "Type", NULL as "Owner"

FROM pg_class c

WHERE c.relkind = 'r'

AND not exists (select 1 from pg_user where usesysid = c.relowner)

AND c.relname !~ '^pg_'

 

ORDER BY "Name";

 

그리고 필드 이름을 알수 있는 query 는 다음과 같이 하시면 될 것 같군요.

 

SELECT a.attname, format_type(a.atttypid, a.atttypmod), a.attnotnull, a.atthasdef, a.attnum

FROM pg_class c, pg_attribute a

WHERE c.relname = 'oracle'

AND a.attnum > 0 AND a.attrelid = c.oid

ORDER BY a.attnum;

 

다음은 해당 index 를 찾아 보는 query 입니다.

 

SELECT c.relname as "Name", 'table'::text as "Type", u.usename as "Owner"

FROM pg_class c, pg_user u

WHERE c.relowner = u.usesysid AND c.relkind = 'r'

AND c.relname !~ '^pg_'

AND c.relname ~ '^cache;'

UNION

SELECT c.relname as "Name", 'table'::text as "Type", NULL as "Owner"

FROM pg_class c

WHERE c.relkind = 'r'

AND not exists (select 1 from pg_user where usesysid = c.relowner)

AND c.relname !~ '^pg_'

AND c.relname ~ '^cache;'

 

ORDER BY "Name";

 

이상의 query 는 psql -E db_name 으로 접속후 보이는 쿼리구문을 그대로 가져다 놓은 것입니다. -E 옵션의 역할을 아시고자 한다면 man psql을 자세히 보시기 바랍니다.

 

>>김준원 님께서 쓰시길<<

 

:: postgres를 접한지 일주일쯤 되는데요..

::

:: 1. libpq를 사용해서 db의 모든 테이블 이름을 가져오려 하는데..함수를 모르겠습니다. doc나 게시판

:: 을 보았는데 해결 방법을 못찾겠더라구요..

:: 그냥 콘솔에서는 \dt를 치면 나오는 것을 어떻게 하면 libpq에서 c함수를 사용하는지 모르겟습니다.

::

:: 2. 한 테이블의 모든 field name을 가져오는 함수는 없는지 궁금합니다...

[Top]
No.
제목
작성자
작성일
조회
3064ROWID, OID의 차이가 도대체 무엇지져?
Answer Guy
2001-07-03
2410
3066┕>Re: ROWID, OID의 차이가 도대체 무엇지져?
정재익
2001-07-04 10:24:00
2645
30637.1에서 한글 sorting이 안되는 문제
어떤생각
2001-07-04
2458
3070┕>흠 자세히 보니까 약간의 규칙성은 있군요. 크크 (정말 큰일이당.)
어떤생각
2001-07-04 13:19:13
2590
3072 ┕>Re: 흠 자세히 보니까 약간의 규칙성은 있군요. 크크 (정말 큰일이당.)
정재익
2001-07-04 18:36:24
2565
3062웹에서 postgreSQL DB로 한글 insert 시
박현성
2001-07-03
2659
3065┕>Re: 웹에서 postgreSQL DB로 한글 insert 시
김일형
2001-07-03 22:00:54
3795
3059libpq에서 질문이요.
김준원
2001-07-02
2345
3060┕>Re: libpq에서 질문이요.
정재익
2001-07-02 22:06:22
2823
3061 ┕>Re:Re: 답변 감사드립니다.
김준원
2001-07-03 14:12:07
2303
3057PostgreSQL 함 써볼려는데 이스톨하는 방법도 몰라여...
이상림
2001-07-02
2566
3058┕>Re: PostgreSQL 함 써볼려는데 이스톨하는 방법도 몰라여...
Coral
2001-07-02 13:24:32
2543
3084 ┕>Re: Re: PostgreSQL 함 써볼려는데 이스톨하는 방법도 몰라여...
이상림
2001-07-06 17:57:39
2545
3050PostgreSQL 7.1.2를 설치후.. 많이 느려진 느낌이..
김대성
2001-06-29
2507
3056┕>Re: PostgreSQL 7.1.2를 설치후.. 많이 느려진 느낌이..
정재익
2001-06-30 10:35:40
2639
3048오라클의 sysdate와 같은 기능을 갖는 것은 없나요? [1]
김명수
2001-06-28
3714
3049┕>Re: 질문하시기 전에 메뉴얼을 먼저 찾아 보시기 바랍니다.
정재익
2001-06-28 22:06:27
2937
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다