আমি পোস্টগ্রিস্কল 9.3 দিয়ে বিকাশে একটি রেল অ্যাপ চালাচ্ছি। আমি যখন আজ যাত্রী সার্ভার শুরু করার চেষ্টা করেছি, তখন আমি পেয়েছি:
PG::ConnectionBad - could not connect to server: Connection refused
Is the server running on host "localhost" (217.74.65.145) and accepting
TCP/IP connections on port 5432?
কোন বড় বিষয় আমি ভেবেছিলাম না, এর আগে ঘটেছিল। পোস্টগ্রিজ পুনরায় চালু করা সবসময় সমস্যার সমাধান করে। তাই আমি দৌড়ে গিয়েছিলাম sudo service postgresql restart
:
* Restarting PostgreSQL 9.3 database server
* The PostgreSQL server failed to start. Please check the log output:
2014-06-11 10:32:41 CEST LOG: could not bind IPv4 socket: Cannot assign requested address
2014-06-11 10:32:41 CEST HINT: Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
2014-06-11 10:32:41 CEST WARNING: could not create listen socket for "localhost"
2014-06-11 10:32:41 CEST FATAL: could not create any TCP/IP sockets
...fail!
postgresql.conf
ডিফল্টগুলিতে আমার পয়েন্ট: localhost
এবং পোর্ট 5432
। আমি বন্দরটি পরিবর্তন করার চেষ্টা করেছি তবে ত্রুটি বার্তাটি একই (পোর্ট পরিবর্তন বাদে)।
উভয় ps aux | grep postgresql
এবং ps aux | grep postmaster
কিছুই ফেরত না।
সম্পাদনা করুন:
ইন postgresql.conf
আমি পরিবর্তন listen_addresses
করতে 127.0.0.1
পরিবর্তে localhost
এবং এটি কৌতুক করেনি, সার্ভার পুনরায় আরম্ভ। আমাকে আমার অ্যাপ্লিকেশনগুলির ডিবি কনফিগারও সম্পাদনা করতে হয়েছিল এবং তার 127.0.0.1
পরিবর্তে পয়েন্ট করতে হবে localhost
। তবে, এখন প্রশ্ন, লোকালহোস্টকে কেন বিবেচনা করা হয় 217.74.65.145
এবং না 127.0.0.1
?
এটি আমার /etc/hosts
:
127.0.0.1 local
127.0.1.1 jacek-X501A1
127.0.0.1 something.name.non.example.com
127.0.0.1 company.something.name.non.example.com
example.com
ডোমেন নাম হিসাবে ব্যবহার করুন ।
sudo netstat -anlp | grep 5432
?