হুম ...
আপনি যদি pgAdminIII- এ ব্যবহারকারীর নাম এবং পাসওয়ার্ডের সাথে সংযোগ করতে পারেন তবে আপনি সংযোগ করতে পারবেন না psql
তবে এই দুটি প্রোগ্রাম সম্ভবত ডাটাবেসের সাথে আলাদাভাবে সংযুক্ত হচ্ছে।
[আপনি যদি বিভিন্ন ডাটাবেসের সাথে সংযোগ স্থাপন করেন তবে প্রথমে একই ডাটাবেসের সাথে সংযোগ করার চেষ্টা করুন। নিচে দেখ.]
পোস্টগ্র্যাস এসকিউএল থেকে : ডকুমেন্টেশন: 9.3: পিএসকিএল :
আপনি হোস্টের নাম বাদ দিলে, পিএসকিএল ইউনিক্স-ডোমেন সকেটের মাধ্যমে স্থানীয় হোস্টের একটি সার্ভারের সাথে, বা টিসিপি / আইপি-র মাধ্যমে ইউনিক্স-ডোমেন সকেট নেই এমন মেশিনে লোকালহোস্টের সাথে সংযুক্ত হবে।
তোমার মত কিছু না চালিয়ে থাকেন psql ... -h host_name ...
, এবং আপনি উবুন্টু চালাচ্ছেন, psql
একটি ইউনিক্স-ডোমেন সকেট মাধ্যমে সংযোগ করা উচিত, যাতে পোস্টগ্রি সম্ভবত পাসওয়ার্ড প্রমাণীকরণ পদ্ধতি এক করার অনুমতি কনফিগার করা নেই postgres ব্যবহারকারী।
আপনি এটি চালিয়ে পরীক্ষা করতে পারেন:
sudo -u postgres psql
যদি উপরের কাজগুলি করে তবে আপনার সার্ভার সম্ভবত পোস্টগ্রিজ ব্যবহারকারী দ্বারা স্থানীয় সংযোগের জন্য পিয়ার প্রমাণীকরণ ব্যবহার করার জন্য কনফিগার করা হয়েছে , যেমন আপনি পোস্টগ্রিজ হয়েছেন তা নিশ্চিত করতে আপনার ব্যবহারকারীর নামের জন্য ওএসকে জিজ্ঞাসা করুন ।
সুতরাং এটি সম্ভবত আপনার pg_hba.conf ফাইল
ফাইলটির পুরো পথটি /etc/postgresql/9.3/main/pg_hba.conf এর মতো কিছু হবে । আপনি এটি দেখতে পারেন, যেমন ।sudo cat /etc/postgresql/9.3/main/pg_hba.conf | more
আপনি যদি আপনার psql
কমান্ডটিতে হোস্টের নাম বাদ দিচ্ছেন , আপনি যদি আপনার pg_hba.conf ফাইলটিতে নিম্নলিখিত এন্ট্রিটি যুক্ত করেন তবে আপনার সংযোগ করতে সক্ষম হবেন :
# Connection type Database User IP addresses Method
local all postgres md5
[ Pg_hba.conf ফাইলটিতে মন্তব্য করা লাইনগুলি শুরু হয়#
]
আপনি যদি হয় আপনার মধ্যে হোস্ট নাম সহ psql
কমান্ড, এই এন্ট্রি যোগ পরিবর্তে:
# Connection type Database User IP addresses Method
host all postgres 127.0.0.1/32 md5
আপনার সংযোগের মাধ্যমে অন্য কোনও এন্ট্রি মিলে যাওয়ার আগে আপনাকে এন্ট্রি রাখা দরকার psql
। এটি কোথায় রাখবেন তা নিয়ে যদি সন্দেহ হয় তবে এটি প্রথম অন-মন্তব্য করা লাইনের আগে রেখে দিন।
Pg_hba.conf সম্পর্কে আরও
পোস্টগ্রেএসকিউএল থেকে : ডকুমেন্টেশন: 9.3: পিজি_এইচবিএ কনফ ফাইল [সাহসী জোর আমার]:
প্রমাণীকরণ সম্পাদনের জন্য কোনও মিলের সংযোগের ধরণ , ক্লায়েন্টের ঠিকানা , অনুরোধ করা ডাটাবেস এবং ব্যবহারকারীর নাম সহ প্রথম রেকর্ড ব্যবহৃত হয়। কোনও "ফল-থ্রু" বা "ব্যাকআপ" নেই: যদি একটি রেকর্ড চয়ন করা হয় এবং প্রমাণীকরণ ব্যর্থ হয় তবে পরবর্তী রেকর্ডগুলি বিবেচনা করা হয় না। কোনও রেকর্ডের মিল না থাকলে অ্যাক্সেস অস্বীকার করা হয়।
নোট করুন যে প্রমাণীকরণ পদ্ধতিতে রেকর্ডগুলি মেলে না । সুতরাং, যদি আপনার pg_hba.conf ফাইলটিতে নিম্নলিখিত প্রবেশ থাকে:
# Connection type Database User IP addresses Method
local all postgres peer
তারপরে আপনি এর মাধ্যমে সংযোগ করতে সক্ষম হবেন না :
psql -u postgres
পূর্ববর্তী এন্ট্রিগুলির উপরে এই এন্ট্রিগুলির মধ্যে একটিও আপনার pg_hba.conf ফাইলটিতে না থাকলে:
# Connection type Database User IP addresses Method
local all postgres md5
local all postgres password # Unencrypted!
local all all md5
local all all password # Unencrypted!