Troubleshooting: Database
Common database connection और query issues fix करें।
Connection Refused
Error: ECONNREFUSED 127.0.0.1:5432 या connect ECONNREFUSED 127.0.0.1:27017
इस error का मतलब है 1DevTool ने connection string में दिए host और port पर contact किया, पर वहां कुछ listen नहीं कर रहा था। Database server या तो चल नहीं रहा या अलग port पर listen कर रहा है।
Fixes:
- Check करें database चल रहा है। PostgreSQL के लिए: terminal में
pg_ctl statusचलाएं। MySQL के लिए:mysqladmin status। Redis के लिए:redis-cli ping(आपकोPONGमिलना चाहिए)। Service stopped हो तो start करें। - Port check करें। Default ports हैं 5432 (PostgreSQL), 3306 (MySQL/MariaDB), 27017 (MongoDB), और 6379 (Redis)।
DATABASE_URLमें port को उस port से compare करें जो database actually use कर रहा है। - Docker containers। Database Docker के अंदर चल रहा हो तो
docker psसे check करें container चल रहा है। नहीं है तोdocker start <container-name>से start करें। Confirm करें container का port host पर published है (docker psoutput में0.0.0.0:5432->5432/tcpदेखें)।
Authentication Failed
Error: password authentication failed for user "postgres" या Access denied for user 'root'@'localhost'
Connection string में username या password database server से match नहीं करता।
Fixes:
DATABASE_URLया connection settings में username और password double-check करें। Supabase account password को database password से confuse करना easy है — ये अलग हैं। Supabase dashboard में Settings → Database पर दिखा password use करें।- Passwords में special characters। Password में
@,#,/, या:हों तो इन characters को connection string में URL-encode करना होगा। जैसे@बनता है%40और#बनता है%23। Passwordp@ss#wordURL मेंp%40ss%23wordलिखा जाएगा।
SSL/TLS Required
Error: SSL connection has been closed unexpectedly या server requires SSL but client does not support it
कई cloud database providers (Supabase, Neon, Railway, Render) encrypted connections require करते हैं।
Fix: PostgreSQL connection string के end में ?sslmode=require जोड़ें:
postgresql://user:pass@host:5432/db?sslmode=require
MongoDB Atlas के लिए, connection string में mongodb+srv:// scheme use करें — यह automatically TLS enable करता है।
Query Timeout होती है
Cause: query बहुत ज़्यादा data scan कर रही है, या 1DevTool और database के बीच network connection mid-query drop हो गया।
Fixes:
- Query में
LIMITclause जोड़ें data explore करते वक्त। जैसे:SELECT * FROM orders LIMIT 100। - Specific query हमेशा slow हो तो check करें
WHEREclause में columns पर indexes हैं। SQL editor मेंEXPLAIN ANALYZE <your query>चलाने से query plan दिखेगा। - Timeouts intermittently हों तो network check करें। VPN connections database connectivity को flaky बना सकते हैं।
MongoDB: Password में Special Characters
MongoDB password में @, /, :, या # हों तो connection string में उन characters को URL-encode करना होगा। ये characters URL में special meaning रखते हैं।
Common encodings: @ → %40, # → %23, / → %2F, : → %3A।
Example: password my@secret#pass connection string में my%40secret%23pass बनता है।
Docker Container से Connect नहीं हो रहा
Database Docker container के अंदर चल रहा है और 1DevTool से (जो host machine पर चलता है) connect करने की कोशिश कर रहे हैं, तो connection string में localhost use न करें। Host से localhost का मतलब host machine है — container नहीं।
इसकी बजाय host.docker.internal use करें:
postgresql://user:[email protected]:5432/db
यह special hostname Docker के अंदर से हमेशा host machine resolve करता है।