source

pg_dump를 제대로 인증하려면 어떻게 해야 합니까?

ittop 2023. 5. 7. 11:49
반응형

pg_dump를 제대로 인증하려면 어떻게 해야 합니까?

호스트 변수를 사용해 보았습니다.PGPASSWORD그리고..pgpass이 둘 중 어느 것도 데이터베이스 인증을 허용하지 않습니다.있습니다chmod'd'.pgpass적절한 사용 권한 및 시도:

export PGPASSWORD=mypass and PGPASSWORD=mypass

암호에 다음이 포함되어 있습니다.\하지만 저는 그것을 한 인용구로 묶고 있었습니다.PGPASS='mypass\'여전히 인증되지 않을 것입니다.

내가 달려갑니다.

pg_dump dbname -U username -Fc

그리고 아직도 받고 있습니다.

pg_dump: [archiver (db)] connection to database "dbname" failed: FATAL:  Peer authentication failed for user "username"

빠른 해결책

문제는 현재 사용자 이름을 기반으로 로컬 인증을 수행하려고 한다는 것입니다.암호를 사용하려면 호스트 이름을 지정해야 합니다.-h.

pg_dump dbname -U username -h localhost -F c

설명.

이것은 당신의 다음 때문입니다.

local   all             all                                     peer
host    all             all             127.0.0.1/32            md5

이것은 Postgres에게 사용하라고 말합니다.peer현재 시스템 사용자 이름과 일치하는 postgres 사용자 이름을 요구하는 로컬 사용자 인증.두 번째 줄은 호스트 이름을 사용하는 연결을 의미하며 메소드를 통해 암호로 인증할 수 있습니다.

내 기본 개발 구성

참고: 이 기능은 단일 사용자 워크스테이션에서만 사용해야 합니다.이로 인해 운영 또는 다중 사용자 시스템에서 심각한 보안 취약성이 발생할 수 있습니다.

로컬 postgres 인스턴스에 대해 개발할 때 로컬 인증 방법을 로 변경하고 싶습니다.이렇게 하면 암호가 없는 모든 사용자가 로컬 유닉스 소켓을 통해 postgres에 연결할 수 있습니다.간단히 변경하면 됩니다.peer보다 높은.trust우편물을 다시 로드하는 중입니다.

# Don't require a password for local connections
local   all             all                                     trust

때때로 사용할 수 있습니다.

sudo -u postgres pg_dump ...

언급URL : https://stackoverflow.com/questions/10430645/how-can-i-get-pg-dump-to-authenticate-properly

반응형