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 7584 게시물 읽기
No. 7584
텍스트 파일에 있는 테이블
작성자
궁금이
작성일
2009-01-05 10:40
조회수
6,444

텍스트 파일로 되어있는 테이블과 필드값을 일일이 만들지 않고 한꺼번에  PostgreSQL로 가져올려고 합니다. 어떻게 해야 하는지 알려주세요 방법이 있나요?


코딩부분을 어떻게 하는지 궁금하네요.

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

"테이블과 필드값을 일일이 만들지 않고 한꺼번에  PostgreSQL로 가져올려고"

이 말이 정확하게 무슨 의미인지 잘 모르겠네요. 일일이 한줄씩 읽어서 INSERT한다는 의미인지... ^^;


대량의 자료를 가져올 경우 pg_dump/restore를 사용하게 되는데, pg_dump로 만들어지지 않은 경우는 경험상 간단한 스크립트를 작성해서 pg_restore에서 인식 가능하게끔 만들어 주면 잘 되더군요..


예를 들어 다음과 같은 데이터가 있을 경우


A  1  2  3  4  5  6

B  7  8  9  10 11 12


간단한 스크립트 조작으로

COPY table_name (columns....) FROM stdin;

A  1  2  3  4  5  6

B  7  8  9  10 11 12

\.


이렇게 만들어 주고 psql 로 redirect하면 하나씩 INSERT하는 것 보다는 아주 편합니다. 물론 하나씩 넣으면서 데이터 검증을 해야하는 것이라면 이 방법은 사용 못하겠지만요...


$ data_trainsform data_file | psql -Uuser dbname


최정대(whitekid)님이 2009-01-05 13:21에 작성한 댓글입니다.

답변 감사합니다.

답변해 주신 의미가 맞아요~~ㅋ

궁금이님이 2009-01-06 09:26에 작성한 댓글입니다. Edit

파일로 부터 insert 하려면

psql로 접속하셔서 아래와 같이 하면 될꺼에요

copy region(테이블이름)  from 'TPC-H/tpc_gen/region.tbl'(파일이름) using delimiters '|'(구분자);


export할려면 반대로


copy 테이블이름 to 파일이름 using delimiters '|';

이런식으로 하면 될거 에요

꼬냥님이 2009-01-07 12:18에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7588PostgreSQL 제대로 지원하는 ER 모델러 없나요??? [1]
최정대
2009-01-19
7070
7587UnixWare 7.1.2 PostgreSQL 구동 시 커널 파라미터 권장값? [2]
김대청
2009-01-12
7188
7585IPv6기반에서 PostgreSQL 사용하려면 어떤 부분이 변경되야 하나요? [1]
박민지
2009-01-05
6397
7584텍스트 파일에 있는 테이블 [3]
궁금이
2009-01-05
6444
7583- [3]
압피
2009-01-04
6329
7582- [2]
압피
2008-12-31
6587
7581검색을 할려고 하는대 너무 느려서 질문드립니다. [3]
나윤성
2008-12-30
6462
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다