2014-09-22 2 views
1

하나의 포스트그레스 데이터베이스에서 다른 포스트그레스 데이터베이스로 복사하기 위해 완전히 대문자로 된 테이블을 얻는데 어려움이 있습니다. 여기에 다른 곳에서 글을 바탕으로 하나의 포스트그레스 데이터베이스에서 다른 포스트그레스 데이터베이스로 혼합 된 대문자 테이블 이름을 복사하는 방법은 무엇입니까?

, 나는 명령 줄에서 다음 구문을 사용하고 있습니다 :

pg_dump -t tablename fromdb | psql todb 

데이터베이스 이름뿐만 아니라 모자에 모두 해당이 문제가 될 수 입증되지 않은 있지만. 여기

내가 실행하는 데 필요한 라인 더 많거나 적은 : 그것은 완벽하게 작동하고 문제가 없습니다

pg_dump -t "COMMS" "DB_V1" | psql "DB_V2" 

(테스트 케이스와 같은) 큰 따옴표 모두 소문자 인 이름의 테이블을 전송 데이터베이스 이름은 모두 대문자 및 큰 따옴표입니다. 그러나 모두 대문자 인 테이블 이름을 전송하려고 시도하면 찾을 수 없습니다. "pg_dump : 일치하는 테이블이 없습니다."

다른 곳에서 읽은 것을 바탕으로 'COMMS' '를 사용해 보았습니다. 그리고 다른 순열을 사용해 보았습니다. 그 독서를 바탕으로, 나는 작은 따옴표 안에 큰 따옴표가 작동 할 것을 정말로 기대했다.

내 연구에 실종 됐다는 확증 된 관행이 있습니까? 거기에 아주 간단한 대답이있을 것입니다. 미리 감사드립니다!

+0

방금 ​​쉘 과거와 PostgreSQL을에 따옴표를 얻을 필요가 없습니다 쉘 cmd 만든 창에서 작동? 'pg_dump -t ' "COMMS"' ' "DB_V1"'| psql ' "DB_V2"' '와 같이 입력하십시오. –

+0

내가 게시물에서 언급했듯이, 나는 그것을 시도했다. 흥미롭게도 테이블을 담고있는 데이터베이스의 이름과 복사 할 데이터베이스의 이름은 큰 따옴표가있는 대문자로 포함될 수 있으며 테이블 이름이 소문자 일 경우 제대로 작동합니다. 큰 따옴표 바깥쪽에 작은 따옴표를두기 만해도 아무 것도 바뀌지 않는 것 같습니다 ... – ZFlyGuy

+0

오른쪽, 죄송합니다. COMMS ' "물건을 놓쳤습니다. –

답변

1

따옴표 앞에 백 슬래시를 추가하면

pg_dump -t \"TableName\" MYDB 
관련 문제