📝 README: Resetting PostgreSQL Password on Windows (PostgreSQL 17.x)
📚 Purpose
This guide is for students or developers who forgot their PostgreSQL postgres user password on Windows, and want to reset it quickly and cleanly without reinstalling PostgreSQL.
🧠 What You'll Learn
- How to locate the 
pg_hba.conffile - How to open it in VS Code or Notepad from terminal
 - How to temporarily disable password authentication
 - How to reset the password from 
psql - How to revert security settings
 
🐘 Requirements
- PostgreSQL installed (e.g. 17.x)
 - Admin access to your PC
 - PowerShell or Command Prompt
 - Optional: VS Code installed
 
🧩 Bonus: Add PostgreSQL to PATH (Optional)
Add this to system environment variables:
C:\Program Files\PostgreSQL\17\bin
Then restart your terminal to use psql from anywhere.
🚀 Step-by-Step Guide
1️⃣ Open PowerShell as Admin
🔍 Press
Win, search forPowerShell, then right-click → Run as Administrator
2️⃣ Locate Your PostgreSQL Data Directory
Run this command to check default install path:
cd "C:\Program Files\PostgreSQL\17\data"
If you're not sure where PostgreSQL is installed:
- Open Services (
services.msc) - Find your PostgreSQL service (e.g. 
postgresql-x64-17) - Right-click → Properties
 - Look at Path to executable — it will include the 
datadirectory path 
3️⃣ Open pg_hba.conf in a Text Editor
Option A: Using Notepad
notepad .\pg_hba.conf
Option B: Using VS Code (if installed)
code .\pg_hba.conf
4️⃣ Temporarily Allow Passwordless Login
Inside pg_hba.conf, change all scram-sha-256 to trust like this:
local   all             all                                     trust
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust
💾 Save the file and close the editor
5️⃣ Restart PostgreSQL
Restart-Service -Name postgresql-x64-17
6️⃣ Connect to PostgreSQL Without a Password
psql -U postgres -d postgres
You’ll enter psql without being asked for a password.
7️⃣ Reset the Password
Inside the psql prompt (postgres=#), run:
ALTER ROLE postgres WITH PASSWORD 'YourNewStrongPassword';
Replace 'YourNewStrongPassword' with something secure.
8️⃣ Restore Authentication to scram-sha-256
Edit pg_hba.conf again and revert changes:
local   all             all                                     scram-sha-256
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             ::1/128                 scram-sha-256
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256
💾 Save and close.
9️⃣ Restart PostgreSQL Again
Restart-Service -Name postgresql-x64-17
🔟 Final Test
Try logging in again:
psql -U postgres -d postgres
✅ You’ll be prompted for a password — use the new one you set. You're back in!
🧼 Tips for Clean Setup
- Store passwords securely in a password manager
 - Don't leave 
pg_hba.confintrustmode for long — it's insecure - Use a 
.envfile for apps connecting to PostgreSQL instead of hardcoding passwords 
🧰 Optional: VS Code Integration
If you're using VS Code:
- 
Open the data folder directly:
code "C:\Program Files\PostgreSQL\17\data" - 
Install SQL extensions in VS Code to make editing SQL scripts easier
 
🆘 Troubleshooting
| Problem | Solution | 
|---|---|
psql: password authentication failed | Password is wrong or pg_hba.conf still requires scram-sha-256 | 
psql not recognized | Make sure PostgreSQL's bin folder is in your system PATH | 
| "Connection refused" | PostgreSQL service is not running — restart it | 
