2012-11-28 3 views
2

나는 큰 포스트 그레스에서 8.1 테이블COPY 명령 포스트 그레스 구문 오류

copy (select * from tablename limit 100) to 'absolute path to file'; 

하지만 내가 잘못 갈 수있는 어떤

ERROR: syntax error at or near "(" at character 6. 

어떤 아이디어

를 얻을 수 사용하여 행의 몇 가지를 수출하려고? 그건 그렇고 나는 데이터베이스에서 슈퍼 유저가 아니지만 다른 종류의 에러를 일으켰을 것이라고 나는 믿는다. 복사를 사용하는 것 이외에 코딩없이 SQL을 사용하여 쉽게 삽입 할 수있는 형식의 SQL 행을 덤프하는 다른 방법이 있으면 제안을 엽니 다.

+0

실제 테이블 이름과 파일 이름을 포함하여 사용중인 정확한 명령을 복사하여 붙여 넣으십시오. – Flimzy

+0

8.1은 오랫동안 사용되지 않고 지원이 중단되었음을 알고 있습니까? –

답변

3

http://www.postgresql.org/docs/8.2/static/sql-copy.html 당신이 TEMPORARY TABLE을 만들고 COPY TO에서 사용할 수있는 버전 8.1의 단점을 극복하기 위해 차이에서 8.2

찾는 하였다. 테이블은 세션이 끝날 때 자동으로 삭제됩니다. 유지하려는 경우 연결이

BEGIN; 
CREATE ...; 
COPY ...; 
ROLLBACK; 

(. 파일이 롤백되지 않습니다에 이미 기록 된 무엇을) 명시 적으로 테이블을 삭제 또는 롤백 트랜잭션에 포장 할 수 열 또는 당신은 더으로 업그레이드 최신 버전은 일반적으로 매우 좋은 아이디어입니다.
PostgreSQL 8.1 has reached end of life in Nov. 2010.

+0

감사합니다. 내가 아는 최신 버전이지만 개발자로서 나는 그것을 계속 사용하라는 말을 듣는다. – user1845360

+0

@ user1845360 : 당신은 내 동정심을 가지고 있습니다. ;) –