DB/PostgreSQL

pg_dump: too many command-line arguments (first is "arg")

채윤아빠 2020. 12. 16. 22:12
728x90
반응형

 

PostgreSQL DB를 이용하다가 운영하고 있는 DB의 특정 테이블 데이터를 백업 받기 위하여 다음과 같이 실행하였더니, 아래와 같이 "too many command-line arguments" 오류가 발생하였습니다.

# pg_dump -U postgres -W "password" -d postgresqlServer -t missing_data > missing_data.sql
pg_dump: too many command-line arguments (first is "password")
Try "pg_dump --help" for more information.

알고 보면 엄청 단순한 문제였습니다.

"-W" 옵션을 잘못 알고 사용한 것인데, "-W" 옵션을 "-U"로 지정한 계정의 비밀번호를 입력하는 것이 아니라, 프롬프트로 비밀번호를 입력받으라고 지정하는 옵션으로 별도의 파라미터가 필요없는 옵션입니다.

그런데, 위에서는 "password"가 필요 없는 상황인데 주어져서 "too many command-line arguments" 오류가 발생한 것입니다.

따라서 다음과 같이 수행하면 오류 없이 원하는 테이블만 백업 받을 수 있습니다.

# pg_dump -U postgres -W -d postgresqlServer -t missing_data > missing_data.sql
Password: 

참고로 PostgreSQL에서 백업 받을 때 "-f" 옵션으로 직접 백업 스크립트 파일을 지정할 수 있습니다. "-f" 옵션이 없으면 일반적인 표준 출력으로 백업 스크립트를 생성하여 파이프로 특정 파일을 지정하는 위와 같은 방식을 사용하여야 합니다.

# pg_dump -U postgres -W -d postgresqlServer -t missing_data -f missing_data.sql
Password: 




'DB > PostgreSQL' 카테고리의 다른 글

"HeidiSQL"에서 함수(function) 생성 실패 문제  (0) 2021.04.04
백업(backup) 및 복구(restore)  (0) 2020.12.19