2016-10-24 2 views
1

Heroku가 호스팅하는 PSQL 데이터베이스의 특정 스키마를 로컬 파일로 pg_dump하려고합니다. 나는 돈 때문에 플래그와 암호를 제공 할 수있는 방법이 있나요Heroku의 PSQL 데이터베이스 PG_DUMP 자동화

> pg_dump --username=abcde --host=ec2-21-82-72-112.compute-1.amazonaws.com --port=5762 --dbname=riza3dj029012 --create --schema=my_schema --password > ~/pg_dump.dmp 
> password: (enter password) 

-

Heroku가 내가 몇 가지 스키마를 덤프 시도 나에게 상기 내용을 토대로 형태

# postgres://username:[email protected]:port/database 
postgres://abcde:[email protected]:5762/riza3dj029012 

에서 DATABASE_URL을 제공합니다 수동으로 입력해야합니까? 이 스크립트에서 자동화하고 싶습니다.

알고 있는데 --no-password이 존재하지만 암호를 묻는 메시지가 표시되지 않고 인증 (분명히)되지 않으므로 사용 이유를 잘 모릅니다.

감사합니다.

+2

당신이 만드는 시도해 봤어 : https://www.postgresql.org/docs/9.5/static/libpq-pgpass.html

그냥 다음과 같은 형식으로 필요한만큼의 라인 사용자 홈 디렉토리에 .pgpass라는 이름의 파일을 생성 .pgpass 파일은 https://www.postgresql.org/docs/9.5/static/libpq-pgpass.html 또는 http://stackoverflow.com/questions/2893954/how-to-pass-in-password- 투 - 덤프? – eabates

+0

그것은 나를 위해 그것을했다, 감사합니다. 로컬 컴퓨터에서 프로덕션 자격 증명을 사용하여 파일을 만들어야하기 때문에 정상적으로 작동하지 않습니다. 스크립트가 실패 할 경우'pgpass' 파일이 지워지지 않고 내 로컬 머신이 프로덕션 DB 자격 증명을 보유하게됩니다. 특히 엄격한 보안 감사를 거친 회사의 보안 관행이 좋지 않습니다. PSQL이 대신 암호 명령 행 옵션을 사용하기를 바랍니다. – user2490003

답변

1

주석에 언급 된 @eabates는이 목적으로 .pgpass 파일을 만들 수 있습니다. 더 많은 정보는 포스트 그레스의 공식 문서에서 찾을 수 있습니다

hostname:port:database:username:password 
관련 문제