ভ্যাগ্র্যান্ট বক্সে পোস্টগ্রিসের সাথে সংযোগ করতে অক্ষম - সংযোগ অস্বীকার করা হয়েছে?


10

প্রথমত, আমি ভ্যাগ্রান্ট এবং পোস্টগ্র্রেসে নতুন।

আমি কোনও সমস্যা ছাড়াই http://files.vagrantup.com/lucid32.box ব্যবহার করে আমার ভ্যাগ্র্যান্ট উদাহরণটি তৈরি করেছি । আমি চালাতে সক্ষম vagrant upএবং vagrant sshইস্যু ছাড়াই।

আমি একটি ছোটখাট পরিবর্তনের সাথে নির্দেশাবলী অনুসরণ করেছি , আমি "পোস্টগ্রেস্কেল -৪.৪-পোস্টগিস" প্যাকেজটি ইনস্টল করেছি "পোস্টগ্র্যাসকিএল পোস্টগ্রিস্কেল-অবদান" এর পরিবর্তে।

আমি সার্ভারটি ব্যবহার করে শুরু করেছি:

postgres@lucid32:/home/vagrant$ /etc/init.d/postgresql-8.4 start

অস্পষ্ট উদাহরণের সাথে সংযুক্ত থাকাকালীন আমি psqlইস্যু ছাড়াই দৃষ্টান্তের সাথে সংযোগ করতে ব্যবহার করতে পারি ।

আমার ভ্যাগ্রান্টফাইলে আমি ইতিমধ্যে যোগ করেছি:

config.vm.forward_port 5432, 5432

তবে যখন আমি লোকালহোস্ট থেকে পিএসকিএল চালানোর চেষ্টা করি তখন আমি পাই:

psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

আমি নিশ্চিত যে আমি কিছু সাধারণ অনুপস্থিত। কোন ধারনা?

হালনাগাদ:

আমি এর মতো ইস্যুতে একটি নিবন্ধ পেয়েছি এবং নিবন্ধটি ব্যবহারের পরামর্শ দিয়েছি:

psql -U postgres -h localhost

যে আমি পেয়েছি:

psql: server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.

উত্তর:


5

আপনি উল্লিখিত ব্লগ পোস্টের নির্দেশাবলী উবুন্টুর পক্ষে মোটেও ঠিক নয়: তারা স্ব-সংকলিত সার্ভারের ইনস্টলেশন থেকে টুকরো ব্যবহার করে যা কোনও প্যাকেজযুক্ত সংস্করণের সাথে ভালভাবে মেশে না।

যে কোনওটিকে / usr / স্থানীয় / pgsql / ডেটা তৈরি করা উচিত নয় এবং সেই ডিরেক্টরিতে initdb চালানো উচিত না কারণ উবুন্টু প্যাকেজটি ব্যবহারকারীর পক্ষে ব্যবহার করে /var/lib/postgresql/<pg-version-number>/<cluster-name>এবং চালায় initdb

"/Tmp/.s.PGSQL.5432" উল্লেখ করার সময় ত্রুটিটি দেখায় যে এই ফাইলটির জন্য প্রত্যাশিত অবস্থানটি ভুল (উবুন্টুর জন্য)। এটা থাকা উচিত /var/run/postgresql। এটি সম্ভবত ubntu এর সাথে সঙ্গতিপূর্ণ নয় এমন পরামিতিগুলির সাথে ম্যানুয়ালি initdb চালানোর কারণে।

স্থানীয়-স্থানীয় সংযোগগুলি সক্ষম করতে সম্পাদনা করার জন্য postgresql.conf এবং pg_hba.conf ফাইলগুলি ভিতরে থাকা উচিত /etc/postgresql/8.4/main, এবং / usr / স্থানীয় / pgsql / ডেটা নয়।

এটি /etc/init.d/postgresql-8.4রুট দ্বারা চালু করা উচিত (/etc/init.d এ থাকা সমস্ত কিছুর হিসাবে), পোস্টগ্রিজ ব্যবহারকারী দ্বারা নয়।

পিজিডিটিএল ম্যানুয়ালি সেট করা উচিত নয়, কারণ এটি আবার উবুন্টু প্যাকেজগুলির কীভাবে পোস্টগ্রেস করে কাজ করে।

আমার উত্তর হ'ল ব্লগ পোস্টের কোনও নির্দেশনা অনুসরণ না করে পোস্টগ্রেস্কেল -৪.৪ প্যাকেজটি মুছে ফেলা এবং পুনরায় ইনস্টল করা হবে। postgresql-8.4-postgis postgresql-8.4 এর উপর নির্ভর করে তাই এটিও সরানো হবে। /Etc/bash.bashrc এ পিজিডিটিএ এর সেটিংটি পূর্বাবস্থায় ফেরানোর বিষয়টি নিশ্চিত করুন।


আমি এখনই ইনস্টলটি পুনরায় করছি, তবে আপনার উত্তরে লক্ষ্য করা গেছে আপনি উবুন্টুকে ফাইলের জন্য ভুল জায়গায় অনুসন্ধান করার পথটি ভুল বলেছিলেন। সার্ভারটি উবুন্টু বক্স থাকা অবস্থায় ওএসএক্সে ক্লায়েন্ট চলার কারণে কি এটি হতে পারে?

সুতরাং আমি পুনরায় ইনস্টল করেছি এবং ঠিক একই ত্রুটি পেয়েছি। আমি আরও কিছুটা ঘুরে দেখতে পেলাম যে iptables এ আমার কাছে বন্দর খোলা নেই। এখানে নিম্নলিখিত নির্দেশাবলীর পরে: cyberciti.biz/tips/howto-iptables-postgresql-open-port.html আমি সংযোগ করতে সক্ষম।

পুনরায় ইনস্টল করা ফিক্সের অংশ ছিল কিনা তা আমি নিশ্চিতভাবে বলতে পারি না তবে এটি অবশ্যই সহায়ক ছিল। তাই আমি আপনাকে বিজয় দিচ্ছি

যখন ক্লায়েন্ট এবং সার্ভারগুলি বিভিন্ন হোস্টে থাকে, তখন <<<<<<<< psql -h <server> [optional other arguments]সার্ভারের হোস্ট-নেম বা আইপি ঠিকানা (এবং এই ক্ষেত্রে উবুন্টু বাক্স নয়) কোথা থেকে পিএসএইচএল যুক্ত করতে হবে । প্রশ্নটিতে দেখে মনে হচ্ছে না আপনি এটিকে কল করছেন তাই আমি ধরে নিচ্ছিলাম যে সমস্ত কমান্ড সার্ভারে চালু হয়েছিল। যাইহোক আমি সত্যিই ইতিবাচক যে সংযোগ স্থাপন করা যেতে পারলেও পুনরায় ইনস্টল করা একটি বুদ্ধিমান ব্যবস্থা ছিল।

আমি এটিকে ডাকছি: পিএসকিএল-ইউ পোস্টগ্রাস -h লোকালহোস্ট যেহেতু আমার কাছে ভ্যাজেন্ট পোর্ট ফরওয়ার্ডিং সেটআপ রয়েছে

2

আপনি আমার কুকবুক দরকারী হতে পারে । আমি কেবল এটি গিথুবে পোস্ট করেছি। এটি পোস্টগ্রেএসকিউএল 9.1 এর সাথে উবুন্টু 12.04 এলটিএস কনফিগার করে।

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