본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

postgresql 사용 활용

by 3604 2025. 11. 8.
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