পোস্টগ্রিস - কোনও টিসিপি / আইপি সকেট তৈরি করতে পারেনি


14

আমি পোস্টগ্রিস্কল 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

কোন আউটপুট থেকে sudo netstat -anlp | grep 5432?
ফ্লপ

1
আপনি যদি নিজের ডেটা অবলম্বন করতে চলেছেন তবে দয়া করে দায়িত্বের সাথে এটি করুন এবং example.comডোমেন নাম হিসাবে ব্যবহার করুন ।
জেনি ডি

উত্তর:


12

তোমার /etc/hostsভেঙে গেছে প্রথম লাইনে পড়া উচিত

127.0.0.1   localhost something.name.non.example.com company.something.name.non.example.com

ভবিষ্যতে পাঠকদের এমনকি যদি আপনার জন্য নোট না একটি স্থানীয় হোস্ট এন্ট্রি থাকে /etc/hosts, বিভিন্ন অন্যান্য বিষয় একটি ভিন্ন DNS প্রতিক্রিয়া যখন একটি DNS খোঁজ সৃষ্টি করতে পারে localhostআসলে চালানো হয়। স্ট্যাকওভারফ্লো . com/a/47824848/5419599 দেখুন ।
ওয়াইল্ডকার্ড

@ উইল্ডকার্ড আমি জানি না যে উত্তরটি কোন ওএসের সাথে প্রযোজ্য হবে (যদি থাকে)। এটি লিনাক্সের পক্ষে অবশ্যই খুব একটা বোঝায় না।
ক্যাস্পার্ড

1
@kasperd যদি আপনি পেয়েছেন আমি অনুমান dns filesপরিবর্তে files dnsnsswitch.conf এ, এবং একটি নাম সার্ভার যা সমাধান করা স্থানীয় হোস্টের আছে, তবে আপনি কষ্ট পেতে পারে। তবে এটি আমার কাছে অত্যন্ত অপ্রত্যাশিত মনে হচ্ছে ...
জেনি ডি

@ জেনিডি উপরে লিঙ্কিত উত্তর nslookupযাচাই করার জন্য পরামর্শ দেয় । কিন্তু nslookupলিনাক্স কমান্ড ব্যবহার করে না nsswitch.confএবং /etc/hostsপ্রথম স্থানে। এবং dns filesকনফিগারেশনটি রাখার মত, এটি আমার কাছে ঝামেলা চেয়েছে বলে মনে হচ্ছে।
ক্যাস্পার্ড

1
@ ক্যাস্পার্ড একমত - এটি "এটি আপনার নিজের-নিন্দিত-দোষ" স্কেলে মোটামুটি উচ্চতর হবে ...
জেনি ডি

0

আমি বুঝতে পারি যে এই প্রশ্নের উত্তর দেওয়া হয়েছে, তবে যাদের ত্রুটি এখনও রয়েছে তাদের কারণটি এটি হতে পারে যে এটি ইতিমধ্যে অন্য কোনও প্রক্রিয়া শুরু করেছে। উদাহরণস্বরূপ Homebrewসিস্টেম বুট।

যদি কেসটি এটি বন্ধ করার চেষ্টা করুন:
brew services stop postgres

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.