Postgre에서 입력한 암호를 잊어버렸습니다.SQL 설치
설치하는 동안 Postgre의 기본 사용자에게 암호를 잊어버렸거나 잘못 입력했습니다.SQL. 실행할 수 없는 것 같고 다음 오류가 발생합니다.
psql: FATAL: password authentication failed for user "hisham"
hisham-agil: hisham$ psql
암호를 재설정하는 방법이 있습니까? 아니면 슈퍼 사용자 권한을 가진 새 사용자를 만들려면 어떻게 해야 합니까?
나는 Postgre가 처음입니다.SQL을 처음 설치했습니다.Ruby on Rails와 함께 사용하려고 하고 있으며 Mac OS X v10.7(Lion)을 실행하고 있습니다.
pg_hba.conf 파일을 찾습니다.예를 들어 /etc/postgresql-9.1/pg_hba.conf에 위치할 수 있습니다.
cd /etc/postgresql-9.1/
뒤로 빼.
cp pg_hba.conf pg_hba.conf-backup
다음 행을 배치합니다(설명되지 않은 첫 번째 행 또는 유일한 행).
아래(로컬 및 호스트)의 모든 경우에 대해 복제 섹션이 없는 경우 다음과 같이 변경해야 하는 경우를 제외하고 MD5 또는 피어 인증이 없어야 합니다.
로컬 올 트러스트
Postgre를 다시 시작합니다.SQL 서버(예: Linux:)
sudo /etc/init.d/postgresql restart
서비스(데몬)가 로그 파일에 보고를 시작하지 않는 경우:
로컬 연결이 이 빌드에서 지원되지 않습니다.
당신은 변해야 합니다.
local all all trust
로.
host all all 127.0.0.1/32 trust
이제 모든 사용자로 연결할 수 있습니다.superuser postgres로 연결합니다(설치 시 superuser 이름이 다를 수 있음). 예를 들어 일부 시스템에서는 pgsql이라고 합니다.)
psql -U postgres
또는
psql -h 127.0.0.1 -U postgres
(첫 번째 명령을 사용하면 항상 로컬 호스트에 연결되지는 않습니다.)
암호 재설정('postgres 사용자를 재설정하므로 my_user_name을 postgres로 대체)
ALTER USER my_user_name with password 'my_secure_password';
보관하는 것이 매우 위험하므로 이전 pg_hba.conf 파일을 복원합니다.
cp pg_hba.conf-backup pg_hba.conf
safepg_hba.conf 파일로 실행하려면 서버를 다시 시작합니다.
sudo /etc/init.d/postgresql restart
해당 pg_hba 파일에 대한 추가 정보: 19.1. pg_hba.conf 파일(공식 문서)
PostgrePostgre의 "에 할 때는 "SQL"을 추가하는 것을 .-h localhost
명령행 매개 변수로 사용할 수 있습니다.않으면 Postgre , PostgreSQL이 피어 인증 모드를 사용하여 연결을 시도합니다.
다음은 암호 재설정, 피어 인증 로그인 실패 및 TCP 연결을 사용한 로그인 성공을 보여줍니다.
# sudo -u postgres psql
could not change directory to "/root"
psql (9.1.11)
Type "help" for help.
postgres=# \password
Enter new password:
Enter it again:
postgres=# \q
실패:
# psql -U postgres -W
Password for user postgres:
psql: FATAL: Peer authentication failed for user "postgres"
으로 -h localhost
:
# psql -U postgres -W -h localhost
Password for user postgres:
psql (9.1.11)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.
postgres=#
그pg_hba.conf
(C:\Program Files\PostgreSQL\9.3\data
이 파일이 이러한 답변이 제공된 이후로 변경되었습니다.Windows에서 제게 효과가 있었던 것은 파일을 열고 파일을 변경하는 것이었습니다.METHOD
md5
trust
:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
그리고 pgAdmin III를 사용하여 비밀번호를 사용하지 않고 로그인하여 사용자를 변경하였습니다.postgres
의 암호는 File → Change Password 메뉴로 이동합니다.
이제 경우 문제는 10을 입니다.psql
으로 Windows 이름Nathan")으로, 을 Postgre/Windows("Nathan") Postgre/Postgre/Postgre/그 이름을 가진 SQL 사용자는 나에게 그것을 알려주지 않았습니다.
그래서 해결책은 실행하는 것이었습니다.psql -U postgres
뿐만 아니라psql
설치할 때 입력한 암호가 작동했습니다.
Windows의 경우(도움이 된 부분):
제가 언급하고 있는 문서는 다음과 같습니다.Postgre를 재설정하려면 어떻게 해야 합니까?SQL 암호?
cmd로 합니다.
C:\Program Files\PostgreSQL\12\data
이것은 보통 올바른 경로입니다.당신은 그것을 다른 곳에 보관할지도 모릅니다./Postgre/Postgre/ 버전의 번호가 SQL 버전입니다. 다른 번호가 있을 것입니다.상관 없어요.pg_hba.conf 파일을 찾아서 다른 곳으로 복사합니다(그렇게 하면 이 파일의 수정되지 않은 버전이 있으므로 변경한 후에 볼 수 있습니다).
pg_hba.conf 파일(백업이 아닌 원본)을 엽니다.
파일 하단 근처에서 호스트로 시작하는 여러 줄 찾기:
host all all 127.0.0.1/32 md5 host all all ::1/128 md5 host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5
md5를 신뢰로 바꾸기:
host all all 127.0.0.1/32 trust host all all ::1/128 trust host replication all 127.0.0.1/32 trust host replication all ::1/128 trust
이 파일 닫기
창에서 검색 모음으로 이동하여 서비스 앱을 엽니다.포스트그레스를 찾아서 다시 시작합니다.
CD 쓰기..cmd 다음에 cd bin을 입력합니다.너의 길은 다음과 같습니다.
C:\Program Files\PostgreSQL\12\bin
입력:
psql -U postgres -h localhost
입력:
ALTER USER postgres with password '<your new password>';
다음을 포함해야 합니다. 마지막에 "ALTER ROLE"이 이전 라인이 성공적으로 실행되었음을 나타내는 표시로 표시되어야 합니다.원본 pg_hba.conf 파일을 열고 신뢰에서 md5로 다시 변경합니다.
이전과 같이 서비스 앱으로 서버 다시 시작
을 편집합니다.
/etc/postgresql/<version>/main/pg_hba.conf
다음 행을 찾습니다.local all postgres md5
하고 변경합니다.
md5
의trust
합니다.postgresql 서비스를 다시 로드합니다.
sudo service postgresql reload
구성 파일이 로드됩니다. 이수할수다있을 할 수 .
postgres
는 에로인여지에 합니다.psql
psql -U postgres
postgres
과 같습니다alter user postgres with password 'secure-passwd-here';
을 편집합니다.
/etc/postgresql/<version>/main/pg_hba.conf
변경 그고변화리trust
로 돌아가다.md5
합니다.postgresql 서비스를 다시 로드합니다.
sudo service postgresql reload
암호 변경이 작동하는지 확인합니다.
psql -U postgres -W
"": "" "" "" ""를 실행할 수 .sudo su - postgres
postgres 사용자가 되고 psql을 사용하여 필요한 내용을 변경합니다.
최신 Postgre에 대한 윈도우즈 사용자의 경우SQL 버전(10보다 큼):
Postgre 자신포이동스SQL 위치로 설치및을 검색합니다.pg_hba.conf
에서 찾을 수 있을 것입니다...\postgres\data\pg_hba.conf
.
메모장에서 파일을 열고 다음 행을 찾습니다.
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
#..
Change the method from *md5* to *trust*:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# ...
이제 SQL 셸(PSQL)로 이동하여 모든 항목을 비워 둡니다.
Server [localhost]:
Database [postgres]:
Port [8000]:
Username [postgres]:
이번에는 암호를 묻지 않고 로그인하게 됩니다.
이제 다음 행을 실행합니다.
`ALTER USER yourusername WITH SUPERUSER`
이제 \q로 셸을 남길 수 있습니다.
다시 pg_hba.conf 파일로 이동하여 MODE를 trust에서 md5로 다시 변경한 후 저장합니다.
이제 새 사용자와 암호로 로그인하면 \du에서 속성을 확인할 수 있습니다.
윈도우즈 설치의 경우 윈도우즈 사용자가 생성됩니다.그리고 "psql"은 포트에 연결하기 위해 이 사용자를 사용합니다.Postgre를 변경하는 경우SQL 사용자의 암호는 Windows 암호를 변경하지 않습니다.바로 아래 명령줄은 명령줄에 액세스할 수 있는 경우에만 작동합니다.
대신 윈도우 GUI 애플리케이션 "c:"를 사용할 수 있습니다.\Windows\system32\lusrmgr.exe"입니다.이 응용 프로그램은 Windows에서 만든 사용자를 관리합니다.이제 암호를 수정할 수 있습니다.
동일한 문제를 해결하기 위해 이 작업을 수행했습니다.
터미널에서 gedit 편집기를 사용하여 pg_hba.conf 파일을 엽니다.
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf
그것은 비밀번호를 요청할 것입니다.관리 로그인 암호를 입력합니다.이렇게 하면 파일과 함께 gedit이 열립니다.다음 줄을 붙여넣습니다.
host all all 127.0.0.1/32 trust
just below -
# Database administrative login by Unix domain socket
저장하고 닫습니다.
터미널을 닫고 다시 연 다음 명령을 실행합니다.
psql -U postgres
이제 psql 콘솔로 들어갑니다.
이제 다음을 입력하여 암호를 변경합니다.
ALTER USER [your preferred user name] with password '[desired password]';
사용자가 존재하지 않는다고 표시되는 경우 대신ALTER
,사용하다CREATE
.
마지막으로 pg_hba에 붙여넣은 특정 행을 제거하고 저장합니다.
Postgre를 실행 중인 경우macOS에서 SQL을 사용해 보십시오.
pg_hba.conf 파일을 편집합니다.
sudo vi /Library/PostgreSQL/9.2/data/pg_hba.conf
의 "의 "합니다.
Postgres 서비스의 이름 찾기
ls /Library/LaunchDaemons
postgresql을 찾습니다.
postgresql 서비스를 다시 시작합니다.
sudo launchctl stop com.edb.launchd.postgresql-9.2
sudo launchctl start com.edb.launchd.postgresql-9.2
(com.edb.svd.postgresql-9.2는 3단계부터 이름 postgresql 서비스여야 합니다.)
postgres로 psql 세션 시작 psql -U postgres
('신뢰' 설정 때문에 비밀번호를 묻지 않음)
다음을 입력하여 psql 세션에서 암호를 재설정합니다.
ALTER USER postgres with password 'secure-new-password';
pg_hba.conf 파일을 편집합니다. 다시 'md5'로 전환합니다.
서비스 다시 시작
Windows(윈도우)에 설치되어 있는 경우에 따라
net user postgres postgres
그리고 Postgre에 로그인합니다.사용자/암호로 postgres/postgres를 사용하는 SQL입니다.
가장 좋은 답은 1단계를 따릅니다.
Windows 운영 체제를 사용하는 경우 여기에 추가합니다.1단계만 수행한 다음 웹에서 pgAdmin 또는 postgres를 열고 상단 네비게이션에서 파일을 클릭합니다.레이아웃 재설정을 클릭하고 마지막으로 응용프로그램을 다시 로드합니다.어떤 암호를 입력하든 작동해야 합니다.1234를 썼어요.
파일을 찾지 못했습니다.pg_hba.conf
폴더 안에C:\Program Files\PostgreSQL\14\data
폴더가 없기 때문에data
조금도.
저는 pgAdmin을 사용하여 새로운 사용자를 생성하여 문제를 해결하고 슈퍼 시스템 관리자 권한을 부여했습니다.
아래 행을 pg_hba.conf 파일에 추가합니다.Postgre의 설치 디렉토리에 표시됩니다.SQL
hostnossl all all 0.0.0.0/0 trust
작동이 시작됩니다.
언급URL : https://stackoverflow.com/questions/10845998/i-forgot-the-password-i-entered-during-postgresql-installation
'IT' 카테고리의 다른 글
git의 분기 간 커밋 차이를 보려면 어떻게 해야 합니까? (0) | 2023.05.28 |
---|---|
경로. URL에 대해 결합하시겠습니까? (0) | 2023.05.28 |
"RCTBundleURLProvider.h" 파일을 찾을 수 없음 - AppDelegate.m (0) | 2023.05.23 |
Git 업데이트 하위 모듈 재귀 (0) | 2023.05.23 |
어셈블리 이름을 가져오는 중 (0) | 2023.05.23 |