PostgreSQL সংযোগ স্ট্রিং কী?

একটি PostgreSQL সংযোগ স্ট্রিং হল একটি ফর্ম্যাট করা পাঠ্য যা ডাটাবেসে সংযোগ করার জন্য প্রয়োজনীয় সমস্ত তথ্য — হোস্টনাম, পোর্ট, শংসাপত্র, ডাটাবেস নাম এবং SSL সেটিংস — একটি একক মানে বান্ডেল করে। অ্যাপ্লিকেশন, ORM এবং কমান্ড-লাইন টুলস সংযোগ স্ট্রিং ব্যবহার করে ডাটাবেস সেশন স্থাপন করে প্রতিটি প্যারামিটার আলাদাভাবে কনফিগার করার প্রয়োজন ছাড়াই। দুটি সাধারণ ফর্ম্যাট রয়েছে: URI ফর্ম্যাট (postgresql://user:password@host:port/dbname) এবং libpq key=value ফর্ম্যাট (host=localhost port=5432 dbname=mydb)। উভয় ফর্ম্যাট প্রায় সমস্ত PostgreSQL ক্লায়েন্ট লাইব্রেরি জুড়ে সমর্থিত।

টুল বর্ণনা

এই টুলটি স্বতন্ত্র প্যারামিটার থেকে বৈধ PostgreSQL সংযোগ স্ট্রিং তৈরি করে। হোস্ট, পোর্ট, শংসাপত্র, ডাটাবেস নাম এবং SSL মোড পূরণ করুন এবং এটি তাৎক্ষণিকভাবে তিনটি ব্যবহারের জন্য প্রস্তুত আউটপুট তৈরি করে: একটি সংযোগ URL, একটি psql কমান্ড এবং একটি libpq key=value স্ট্রিং।

উদাহরণ

ইনপুট:

ক্ষেত্র মান
হোস্ট db.example.com
পোর্ট 5432
ব্যবহারকারীনাম alice
পাসওয়ার্ড s3cr3t
ডাটাবেস production
SSL মোড require

সংযোগ URL:

postgresql://alice:s3cr3t@db.example.com/production?sslmode=require

psql কমান্ড:

psql "postgresql://alice:s3cr3t@db.example.com/production?sslmode=require"

libpq key=value স্ট্রিং:

host=db.example.com port=5432 dbname=production user=alice password=s3cr3t sslmode=require

বৈশিষ্ট্য

  • তিনটি আউটপুট ফর্ম্যাট: একযোগে একটি সংযোগ URL, psql shell কমান্ড এবং libpq key=value স্ট্রিং তৈরি করে
  • SSL মোড নির্বাচক: সমস্ত ছয়টি PostgreSQL SSL মোড সমর্থন করে — disable, allow, prefer, require, verify-ca এবং verify-full
  • স্মার্ট ডিফল্ট: ডিফল্ট মান (পোর্ট 5432, sslmode=prefer) বাদ দেয় আউটপুট পরিষ্কার এবং ন্যূনতম রাখতে
  • URL এনকোডিং: স্বয়ংক্রিয়ভাবে ব্যবহারকারীনাম, পাসওয়ার্ড এবং বিশেষ অক্ষর সম্বলিত ডাটাবেস নাম প্রতিশত-এনকোড করে
  • পোর্ট যাচাইকরণ: যাচাই করে যে পোর্ট 1 এবং 65535 এর মধ্যে একটি সংখ্যা

ব্যবহারের ক্ষেত্র

  • অ্যাপ্লিকেশন কনফিগারেশন: Django, Rails বা সংযোগ স্ট্রিং ব্যবহার করে এমন যেকোনো অ্যাপের জন্য একটি DATABASE_URL পরিবেশ পরিবর্তনশীল তৈরি করুন
  • দ্রুত CLI অ্যাক্সেস: URI সিনট্যাক্স মনে না রেখে দূরবর্তী ডাটাবেসে সংযোগ করার জন্য একটি চালানোর জন্য প্রস্তুত psql কমান্ড তৈরি করুন
  • সংযোগ ডিবাগিং: নিম্ন-স্তরের ড্রাইভার বা URI ফর্ম্যাট গ্রহণ করে না এমন টুলগুলির সাথে সংযোগ পরীক্ষা করার জন্য একটি libpq স্ট্রিং তৈরি করুন

SSL মোড ব্যাখ্যা করা হয়েছে

মোড বর্ণনা
disable কোনো SSL নেই। সংযোগ এনক্রিপ্ট করা হয় না।
allow সার্ভার যদি এটি প্রয়োজন হয় তবে SSL ব্যবহার করে; অন্যথায় SSL ছাড়াই সংযোগ করে।
prefer প্রথমে SSL চেষ্টা করে; এনক্রিপ্ট করা ছাড়াই ফিরে যায় (ডিফল্ট)।
require SSL প্রয়োজন কিন্তু সার্ভার সার্টিফিকেট যাচাই করে না।
verify-ca SSL প্রয়োজন এবং যাচাই করে যে সার্ভার সার্টিফিকেট একটি বিশ্বস্ত CA দ্বারা স্বাক্ষরিত।
verify-full SSL প্রয়োজন, CA যাচাই করে এবং হোস্টনাম সার্টিফিকেটের সাথে মেলে কিনা তাও পরীক্ষা করে।