728x90
방법 1: 단일 사용자 모드로 직접 생성 (가장 빠름)
PostgreSQL 서비스를 중지하고 단일 사용자 모드로 접속하여 postgres 역할을 생성합니다. PostgreSQL 10과 16 모두 동일한 방법으로 작동합니다.
단계 1: PostgreSQL 서비스 중지
cmd
Copy
:: Windows 명령 프롬프트 (관리자 권한)
net stop postgresql-16 # PostgreSQL 16
:: 또는
net stop postgresql-10 # PostgreSQL 10
단계 2: 단일 사용자 모드 실행
cmd
:: PostgreSQL bin 디렉토리로 이동
cd "C:\Program Files\PostgreSQL\16\bin" # PostgreSQL 16
:: 또는 PostgreSQL 10
cd "C:\Program Files\PostgreSQL\10\bin"
:: 단일 사용자 모드로 PostgreSQL 시작 (--single 옵션)
postgres.exe -D "C:\Program Files\PostgreSQL\16\data" --single -P
:: 또는
postgres.exe --single -D "C:\Program Files\PostgreSQL\16\data" 데이터베이스명(예시:postgres)
(예시) postgres.exe --single -D "C:\Program Files\PostgreSQL\16\data" postgres
단계 3: SQL 명령 실행
단일 사용자 모드 프롬프트에서 아래 SQL을 입력:
sql
CREATE USER postgres WITH SUPERUSER LOGIN CREATEDB CREATEROLE;
💡 참고: PostgreSQL 10 이상에서 CREATE USER는 LOGIN 권한이 포함된 CREATE ROLE의 별칭입니다.
방법 2: pg_hba.conf 임시 수정 (Windows 권장)
인증 설정을 임시로 **신뢰 모드(trust)**로 변경하여 접속 후 역할을 생성합니다.
단계 1: pg_hba.conf 편집
cmd
:: 메모장으로 파일 열기
notepad "C:\Program Files\PostgreSQL\16\data\pg_hba.conf"
단계 2: 인증 방법 변경
파일 맨 위에 아래 라인을 추가 또는 수정:
ini
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
단계 3: PostgreSQL 서비스 재시작
cmd
net start postgresql-16
단계 4: postgres 역할 생성
cmd
psql -U postgres -c "CREATE USER postgres WITH SUPERUSER LOGIN CREATEDB CREATEROLE;"
단계 5: pg_hba.conf 원상 복구
반드시 원래 인증 방법(md5, scram-sha-256 등)으로 되돌리고 서비스 재시작:
cmd
net stop postgresql-16
net start postgresql-16
728x90
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| ORA-12638 오류 해결: "Credential retrieval failed" (0) | 2025.11.10 |
|---|---|
| DBeaver Oracle XE 연결 오류 "소켓에서 읽을 데이터가 없습니다" (0) | 2025.11.08 |
| postgresql 설치 원복 백업, lc_collate=ko_KR.utf8 설정 문제 (0) | 2025.11.08 |
| 서버 wwn 매핑 작업이란 (0) | 2025.11.08 |
| 벤더사가 다른 장비(ECM → DELL)에 스토리지 이관 작업 시 TSM 활용 절차 (0) | 2025.11.08 |